<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        
        
        <!-- This is broken by doc revisioning.
         -->
        <link rel="shortcut icon" href="../../../../img/favicon.ico">

        <title>toc - Apache Mynewt</title>

        <link href="../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
        <link rel="stylesheet" href="../../../../css/highlight.css">
        <link href="../../../../css/base.css" rel="stylesheet">
        <link href="../../../../css/custom.css" rel="stylesheet">
        <link href="../../../../css/v2.css" rel="stylesheet">
        <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">

        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!--[if lt IE 9]>
            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
        <![endif]-->

        
            <script>
            (function(i, s, o, g, r, a, m) {
    i["GoogleAnalyticsObject"] = r;
    (i[r] =
        i[r] ||
        function() {
            (i[r].q = i[r].q || []).push(arguments);
        }),
        (i[r].l = 1 * new Date());
    (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
    a.async = 1;
    a.src = g;
    m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
        
    </head>


    <body class="toc">


        <div class="container">
    <div class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released (April 4, 2024)
            </div>
        </div>
    </div>
</div>

        






<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" role="navigation">
    <div class="container">
        <!-- Collapsed navigation -->
        <div class="navbar-header">
            <!-- Expander button -->
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>

        </div>

        <!-- Expanded navigation -->
        <div class="navbar-collapse collapse">
            <!-- Main navigation -->
            <ul class="nav navbar-nav navbar-right">
                <li 
  class=""
>
                    <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                </li>
                <li 
  class="important"
>
                    <a href="/quick-start/">Quick Start</a>
                </li>
                <li 
  class=""
>
                    <a href="/about/">About</a>
                </li>
                <li 
  class=""
>
                    <a href="/talks/">Talks</a>
                </li>
                <li 
  class="active"
>
                    <a href="/documentation/">Documentation</a>
                </li>
                <li 
  class=""
>
                    <a href="/download/">Download</a>
                </li>
                <li 
  class=""
>
                    <a href="/community/">Community</a>
                </li>
                <li 
  class=""
>
                    <a href="/events/">Events</a>
                </li>
            </ul>

        </div>
    </div>
</nav>

        

        <div class="container">
            
                <div class="row">
                    <div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary">
    <div class="top">
        <div role="search">
            <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
                <div class="form-group">
                    <input type="text" name="q" class="form-control" placeholder="Search documentation" />
                </div>
            </form>
        </div>
    </div>
    <ul class="toc-nav">
      <li class="doc-version"><select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest">
    Version: master
  </option>
  <option value="/v1_12_0/" >
    Version: 1.12.0
  </option>
  <option value="/v1_11_0/" >
    Version: 1.11.0
  </option>
  <option value="/v1_10_0/" >
    Version: 1.10.0
  </option>
  <option value="/v1_9_0/" >
    Version: 1.9.0
  </option>
    <option value="/v1_8_0/" >
    Version: 1.8.0
  </option>
  <option value="/v1_7_0/" >
    Version: 1.7.0
  </option>
  <option value="/v1_6_0/" >
    Version: 1.6.0
  </option>
  <option value="/v1_5_0/" >
    Version: 1.5.0
  </option>
  <option value="/v1_4_0/" >
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction" >
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" selected="selected" >
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction" >
    Version: 0.9.0
  </option>
</select></li>
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
          
  
  
    <li ><a href="../../../introduction/">Mynewt Documentation</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li ><a href="../../../get_started/get_started/">Basic Setup</a>
  
  
    </li>

              
          
              
                
  <li >
    <a href="../../../get_started/vocabulary/">Concepts</a>
  </li>

              
          
              
                
  
  
    <li ><a href="../../../tutorials/tutorials/">Tutorials</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../os_user_guide/">OS User Guide</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li ><a href="../../../core_os/mynewt_os/">OS Core</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../core_os/porting/port_os/">Porting to your Platform</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../console/console/">Console</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../shell/shell/">Shell</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../split/split/">Split Images</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../bootloader/bootloader/">Bootloader</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  
  
  ../../fs/fs/fs/

">File System</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../hal/hal/">Hardware Abstraction Layer</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../drivers/driver/">Drivers</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../testutil/testutil/">Test Utilities</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../devmgmt/newtmgr/">Device Management with Newt Manager</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../imgmgr/imgmgr/">Image Manager</a>
  
  
    </li>

              
          
              
                
  <li >
    <a href="../../baselibc/">Baselibc library</a>
  </li>

              
          
              
                
  
  
    <li class="active"><a href="./">JSON</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li><a href="
  ../json_encode_object_entry/
">Functions</a>
  
  
    </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../fcb/fcb/">Flash Circular Buffer</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../stats/stats/">Stats</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../logs/logs/">Logs</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../sysinitconfig/sysinitconfig/">System Configuration And Initialization</a>
  
  
    </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../../../../network/ble/ble_intro/
">BLE User Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../../newt/newt_intro/">Newt Tool Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../../newtmgr/overview/">Newt Manager Guide</a>
  
  
    </li>

              
          
              
                
  <li >
    <a href="../../../../known_issues/">Known Issues</a>
  </li>

              
          
    </ul>
  
    </li>

        
      
        
          
  
  
    <li><a href="
  ../../../../faq/go_env/
">Appendix</a>
  
  
    </li>

        
      
    </ul>
</div></div>

                    <div class="col-md-9" role="main">
                        <div class="doc-header">
                            <div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="/documentation/">Docs</a></li>
    
    
        
          <li>&raquo; JSON</li>
        
      
        
          <li>&raquo; <a href="os/os_user_guide/">OS User Guide</a></li>
        
      
        
          <li>&raquo; <a href="os/introduction/">Mynewt Documentation</a></li>
        
      
      
    
    
  </ul>
</div>
                        </div>
                        
                          
                        
                          
                        
                          
                            <div class="alert alert-warning">
                                <p>
                                    Version 1.0.0 is not the most recent version of the Apache Mynewt
                                    documentation. Click <a href="/latest">here</a> to read the latest
                                    version.
                                </p>
                            </div>
                          
                        
                        
                            <h1 id="json">JSON</h1>
<p>JSON is a data interchange format. The description of this format can be found from IETF RFC 4627.</p>
<h2 id="description">Description</h2>
<p>This package helps in converting between C data types and JSON data objects. It supports both encoding and decoding.</p>
<h2 id="data-structures">Data structures</h2>
<h3 id="encoding">Encoding</h3>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #177500">/* Encoding functions */</span>
<span style="color: #A90D91">typedef</span> <span style="color: #A90D91">int</span> (<span style="color: #000000">*json_write_func_t</span>)(<span style="color: #A90D91">void</span> <span style="color: #000000">*buf</span>, <span style="color: #A90D91">char</span> <span style="color: #000000">*data</span>,
        <span style="color: #A90D91">int</span> <span style="color: #000000">len</span>);

<span style="color: #A90D91">struct</span> <span style="color: #3F6E75">json_encoder</span> {
    <span style="color: #000000">json_write_func_t</span> <span style="color: #000000">je_write</span>;
    <span style="color: #A90D91">void</span> <span style="color: #000000">*je_arg</span>;
    <span style="color: #A90D91">int</span> <span style="color: #000000">je_wr_commas:</span><span style="color: #1C01CE">1</span>;
    <span style="color: #A90D91">char</span> <span style="color: #000000">je_encode_buf</span>[<span style="color: #1C01CE">64</span>];
};
</code></pre></div>

<p>Here's the data structure encoder funtions use, and it must be initialized by the caller. The key element is <em>je_write</em>, which is a function pointer which gets called whenever encoding routine is ready with encoded data. The element <em>je_arg</em> is passed to <em>je_write</em> as the first argument. The rest of the structure contents are for internal state management.
This function should collect all the data encoder function generates. It can collect this data to a flat buffer, chain of mbufs or even stream through.</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #177500">/**</span>
<span style="color: #177500"> * For encode.  The contents of a JSON value to encode.</span>
<span style="color: #177500"> */</span>
<span style="color: #A90D91">struct</span> <span style="color: #3F6E75">json_value</span> {
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">jv_pad1</span>;
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">jv_type</span>;
    <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">jv_len</span>;

    <span style="color: #A90D91">union</span> {
        <span style="color: #A90D91">uint64_t</span> <span style="color: #000000">u</span>;
        <span style="color: #A90D91">float</span> <span style="color: #000000">fl</span>;
        <span style="color: #A90D91">char</span> <span style="color: #000000">*str</span>;
        <span style="color: #A90D91">struct</span> {
            <span style="color: #A90D91">char</span> <span style="color: #000000">**keys</span>;
            <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">json_value</span> <span style="color: #000000">**values</span>;
        } <span style="color: #000000">composite</span>;
    } <span style="color: #000000">jv_val</span>;
};
</code></pre></div>

<p>This data structure is filled with data to be encoded. It is best to fill this using the macros <em>JSON_VALUE_STRING()</em> or <em>JSON_VALUE_STRINGN()</em> when value is string, <em>JSON_VALUE_INT()</em> when value is an integer, and so forth.</p>
<h3 id="decoding">Decoding</h3>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #177500">/* when you implement a json buffer, you must implement these functions */</span>

<span style="color: #177500">/* returns the next character in the buffer or &#39;\0&#39;*/</span>
<span style="color: #A90D91">typedef</span> <span style="color: #A90D91">char</span> (<span style="color: #000000">*json_buffer_read_next_byte_t</span>)(<span style="color: #A90D91">struct</span> <span style="color: #3F6E75">json_buffer</span> <span style="color: #000000">*</span>);
<span style="color: #177500">/* returns the previous character in the buffer or &#39;\0&#39; */</span>
<span style="color: #A90D91">typedef</span> <span style="color: #A90D91">char</span> (<span style="color: #000000">*json_buffer_read_prev_byte_t</span>)(<span style="color: #A90D91">struct</span> <span style="color: #3F6E75">json_buffer</span> <span style="color: #000000">*</span>);
<span style="color: #177500">/* returns the number of characters read or zero */</span>
<span style="color: #A90D91">typedef</span> <span style="color: #A90D91">int</span> (<span style="color: #000000">*json_buffer_readn_t</span>)(<span style="color: #A90D91">struct</span> <span style="color: #3F6E75">json_buffer</span> <span style="color: #000000">*</span>, <span style="color: #A90D91">char</span> <span style="color: #000000">*buf</span>, <span style="color: #A90D91">int</span> <span style="color: #000000">n</span>);

<span style="color: #A90D91">struct</span> <span style="color: #3F6E75">json_buffer</span> {
    <span style="color: #000000">json_buffer_readn_t</span> <span style="color: #000000">jb_readn</span>;
    <span style="color: #000000">json_buffer_read_next_byte_t</span> <span style="color: #000000">jb_read_next</span>;
    <span style="color: #000000">json_buffer_read_prev_byte_t</span> <span style="color: #000000">jb_read_prev</span>;
};
</code></pre></div>

<p>Function pointers within this structure are used by decoder when it is reading in more data to decode.</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #A90D91">struct</span> <span style="color: #3F6E75">json_attr_t</span> {
    <span style="color: #A90D91">char</span> <span style="color: #000000">*attribute</span>;
    <span style="color: #000000">json_type</span> <span style="color: #000000">type</span>;
    <span style="color: #A90D91">union</span> {
        <span style="color: #A90D91">int</span> <span style="color: #000000">*integer</span>;
        <span style="color: #A90D91">unsigned</span> <span style="color: #A90D91">int</span> <span style="color: #000000">*uinteger</span>;
        <span style="color: #A90D91">double</span> <span style="color: #000000">*real</span>;
        <span style="color: #A90D91">char</span> <span style="color: #000000">*string</span>;
        <span style="color: #A90D91">bool</span> <span style="color: #000000">*boolean</span>;
        <span style="color: #A90D91">char</span> <span style="color: #000000">*character</span>;
        <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">json_array_t</span> <span style="color: #000000">array</span>;
        <span style="color: #A90D91">size_t</span> <span style="color: #000000">offset</span>;
    } <span style="color: #000000">addr</span>;
    <span style="color: #A90D91">union</span> {
        <span style="color: #A90D91">int</span> <span style="color: #000000">integer</span>;
        <span style="color: #A90D91">unsigned</span> <span style="color: #A90D91">int</span> <span style="color: #000000">uinteger</span>;
        <span style="color: #A90D91">double</span> <span style="color: #000000">real</span>;
        <span style="color: #A90D91">bool</span> <span style="color: #000000">boolean</span>;
        <span style="color: #A90D91">char</span> <span style="color: #000000">character</span>;
        <span style="color: #A90D91">char</span> <span style="color: #000000">*check</span>;
    } <span style="color: #000000">dflt</span>;
    <span style="color: #A90D91">size_t</span> <span style="color: #000000">len</span>;
    <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">json_enum_t</span> <span style="color: #000000">*map</span>;
    <span style="color: #A90D91">bool</span> <span style="color: #000000">nodefault</span>;
};
</code></pre></div>

<p>This structure tells the decoder about a particular name/value pair. Structure must be filled in before calling the decoder routine <em>json_read_object()</em>.</p>
<table>
<thead>
<tr>
<th>Element</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>attribute</td>
<td>Name of the value</td>
</tr>
<tr>
<td>type</td>
<td>The type of the variable; see enum json_type</td>
</tr>
<tr>
<td>addr</td>
<td>Contains the address where value should be stored</td>
</tr>
<tr>
<td>dflt</td>
<td>Default value to fill in, if this name is not found</td>
</tr>
<tr>
<td>len</td>
<td>Max number of bytes to read in for value</td>
</tr>
<tr>
<td>nodefault</td>
<td>If set, default value is not copied name</td>
</tr>
</tbody>
</table>
<h2 id="list-of-functions">List of Functions</h2>
<p>Functions for encoding:</p>
<table>
<thead>
<tr>
<th>Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="../json_encode_object_start/">json_encode_object_start</a></td>
<td>This function starts the encoded JSON object.</td>
</tr>
<tr>
<td><a href="../json_encode_object_key/">json_encode_object_key</a></td>
<td>This function writes out a name for a field, followed by ":" character.</td>
</tr>
<tr>
<td><a href="../json_encode_object_entry/">json_encode_object_entry</a></td>
<td>This function writes out a name for a field, followed by ":" character, and the value itself.</td>
</tr>
<tr>
<td><a href="../json_encode_object_finish/">json_encode_object_finish</a></td>
<td>This function finalizes the encoded JSON object.</td>
</tr>
</tbody>
</table>
<p>Functions for decoding:</p>
<table>
<thead>
<tr>
<th>Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="../json_read_object/">json_read_object</a></td>
<td>This function reads in JSON data stream, while looking for name/value pairs described in given attribites.</td>
</tr>
</tbody>
</table>
                        
                        <div class="row">
                            



<ul class="nav nav-pills" style="margin-bottom: 10px">
    <li>
    
    </li>
    <li class="pull-right">
    
    </li>
</ul>
                        </div>
                        <footer class="row">
    <div class="col-xs-12">
        
            <p class="copyright">Apache Mynewt (incubating) is available under Apache License, version 2.0.</p>
        
    </div>
    <div class="col-xs-12">
        <div class="logos">
            <a href="https://www.apache.org/">
                <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
            </a>
            <p>
                Copyright © 2015-2021 The Apache Software Foundation.<br>
                <small class="footnote">
                    Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt
                    project logo are either registered trademarks or trademarks of the Apache
                    Software Foundation in the United States and other countries.
                </small>
            </p>
            <a href="">
                <img src="https://www.countit.com/images/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
            </a>
        </div>
    </div>
    <a href="https://www.apache.org/licenses/">
        <button class="button-footer-asf">
            License
        </button>
    </a>
    <a href="https://www.apache.org/foundation/sponsorship.html">
        <button class="button-footer-asf">
            Sponsorship
        </button>
    </a>
    <a href="https://www.apache.org/foundation/thanks.html">
        <button class="button-footer-asf">
            Thanks
        </button>
    </a>
    <a href="https://www.apache.org/security/">
        <button class="button-footer-asf">
            Security
        </button>
    </a>
    <a href="https://apache.org/events/current-event">
        <button class="button-footer-asf">
            ASF Events
        </button>
    </a>
</footer>
                    </div>
                </div>
            
            
        </div>

        <script src="../../../../js/jquery-1.10.2.min.js"></script>
        <script src="../../../../js/bootstrap-3.0.3.min.js"></script>
        <script src="../../../../js/highlight.pack.js"></script>
        <script src="../../../../js/base.js"></script>
        <script src="../../../../js/custom.js"></script>
            <script src="search/main.js"></script>

    </body>
</html>