hackedteam/rcs-anonymizer

View on GitHub
src/json/json-c-0.10.x86_64/doc/html/json__object_8h.html

Summary

Maintainability
Test Coverage
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>json-c: json_object.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>json_object.h File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structjson__object__iter.html">json_object_iter</a></td></tr>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a268a63dd1b2e6d81559e268a4529e9bf">JSON_OBJECT_DEF_HASH_ENTRIES</a>&nbsp;&nbsp;&nbsp;16</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a3294cb92765cdeb497cfd346644d1059">JSON_C_TO_STRING_PLAIN</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#aa821746c8668e6ad62bed90ec9e00103">JSON_C_TO_STRING_SPACED</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a2025bc677c35f130e117dfda5bf1ef73">JSON_C_TO_STRING_PRETTY</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a>)0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a>)1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#acf5f514a9e0061c10fc08055762639ee">json_object_object_foreach</a>(obj, key, val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a71f07006c12d78f7bbf4cb716a5af3a6">json_object_object_foreachC</a>(obj, iter)&nbsp;&nbsp;&nbsp;for(iter.entry = json_object_get_object(obj)-&gt;head; (iter.entry ? (iter.key = (char*)iter.entry-&gt;k, iter.val = (struct <a class="el" href="structjson__object.html">json_object</a>*)iter.entry-&gt;v, iter.entry) : 0); iter.entry = iter.entry-&gt;next)</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structprintbuf.html">printbuf</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#ace274df280df67463ff417b1b3392395">printbuf</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structlh__table.html">lh_table</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a766e90057496fc6712d6be0da180a21f">lh_table</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structarray__list.html">array_list</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a6d6d32d8b026ea2025df519b9e90f44a">array_list</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structjson__object.html">json_object</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#af27907ced0f5a43409ad96430fe0f914">json_object</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structjson__object__iter.html">json_object_iter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#af88126730e765f2068968f4b16fd074f">json_object_iter</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structjson__tokener.html">json_tokener</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a4dd5e5b65aee7f376f529f86b210ff49">json_tokener</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06c">json_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#aba5eff84f8638d22f50403175f270c96">json_type</a></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06c">json_type</a> { <br/>
&nbsp;&nbsp;<a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06ca127e62d156e13517471fcde3378979c1">json_type_null</a>, 
<a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06ca5d15299e90dbb9935ff6d3e2c22a285c">json_type_boolean</a>, 
<a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cac6ac2d9a16577d00210fea64d16b47cd">json_type_double</a>, 
<a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06ca7bf325c213b43c5f970ae2d4443ab956">json_type_int</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cac966c8008f0b2c07da59ee8a60ad440f">json_type_object</a>, 
<a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cae536c8c9da4648e6b9348abddde6113c">json_type_array</a>, 
<a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cac9f56e57c09245522d764015a054faa6">json_type_string</a>
<br/>
 }</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#acc3628d97c6308dc967006e4268c4e7f">json_object_get</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#accc34b38e15e46357d64a0beed3d0150">json_object_put</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#ab6dc8b19f8da310e78f402f83d6ae6c5">json_object_is_type</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj, enum <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06c">json_type</a> type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06c">json_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#adc5e998b4897b6e450bd0975a58d2f72">json_object_get_type</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a1f62a660e2619559d1f3f54cd7483ff8">json_object_to_json_string</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a84421dab94ccad42e901e534c6d7b658">json_object_to_json_string_ext</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj, int flags)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#af0ed3555604f39ac74b5e28bc5b1f82c">json_object_new_object</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structlh__table.html">lh_table</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a9840421d6b45a7d00a42e13e379b54b5">json_object_get_object</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a04448b1c63173e1bfe49965835732075">json_object_object_add</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj, const char *key, struct <a class="el" href="structjson__object.html">json_object</a> *val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#ac11730ad909d1f9eb077d1ce9ff8b153">json_object_object_get</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj, const char *key)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#af3f38b3395b1af8e9d3ac73818c3a936">json_object_object_get_ex</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj, const char *key, struct <a class="el" href="structjson__object.html">json_object</a> **value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a03653c18aafccd1ffba1ad318e342845">json_object_object_del</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj, const char *key)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a9b5af06e9a99e16c6d9b6459a685ea3f">json_object_new_array</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structarray__list.html">array_list</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#aba4e8df5e00bdc91a89bfb775e04ed70">json_object_get_array</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a2e62d4b19de8f297595f3b4aaa0ec453">json_object_array_length</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#aa1b05eeaa9c92f079facece87d6a0149">json_object_array_sort</a> (struct <a class="el" href="structjson__object.html">json_object</a> *jso, int(*sort_fn)(const void *, const void *))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#acc89c0f58947d499e2868ac8b62bed49">json_object_array_add</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj, struct <a class="el" href="structjson__object.html">json_object</a> *val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a2d19d21b495e1e0d3f711093d97a5104">json_object_array_put_idx</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj, int idx, struct <a class="el" href="structjson__object.html">json_object</a> *val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a5c9120a6d644ea12a61e2ec8520130c6">json_object_array_get_idx</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj, int idx)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a93cfacfdd1000c739ad19df0a080cb85">json_object_new_boolean</a> (<a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a> b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a3be3153ae5158ed24a49d74fbf14149f">json_object_get_boolean</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#aa7db8ceb1afe1b93afc63c10b8c57560">json_object_new_int</a> (int32_t i)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a54a27690a1927354966189166bba6ca3">json_object_new_int64</a> (int64_t i)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#ae6cab7d4c7c707b9053035a6405d3891">json_object_get_int</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a3493894ebd226249118582e640af6944">json_object_get_int64</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a2e9c761833a4f5d0a0c60640377e3cec">json_object_new_double</a> (double d)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a9cf586fba906a597a121423045cb2a45">json_object_get_double</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a48eb92a8208e6718e55edf1130e8e4b8">json_object_new_string</a> (const char *s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a9d14fd03ed7520c4aa33ab53b4569414">json_object_new_string_len</a> (const char *s, int len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#ad24f1c4c22b2a7d33e7b562c01f2ca65">json_object_get_string</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#ad821384d0d8515d5ed4eec44d7101772">json_object_get_string_len</a> (struct <a class="el" href="structjson__object.html">json_object</a> *obj)</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a27427f89f2fc995639e366635fbe58ac">json_number_chars</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__object_8h.html#a20dbe4913551cefa6b4b0a77fd4397c4">json_hex_chars</a></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="aa93f0eb578d23995850d61f7d61c55c1"></a><!-- doxytag: member="json_object.h::FALSE" ref="aa93f0eb578d23995850d61f7d61c55c1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define FALSE&nbsp;&nbsp;&nbsp;((<a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a>)0)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3294cb92765cdeb497cfd346644d1059"></a><!-- doxytag: member="json_object.h::JSON_C_TO_STRING_PLAIN" ref="a3294cb92765cdeb497cfd346644d1059" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define JSON_C_TO_STRING_PLAIN&nbsp;&nbsp;&nbsp;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A flag for the <a class="el" href="json__object_8h.html#a84421dab94ccad42e901e534c6d7b658">json_object_to_json_string_ext()</a> and <a class="el" href="json__util_8h.html#a1ddcf96dd176ed447ce4df383190cfa8">json_object_to_file_ext()</a> functions which causes the output to have no extra whitespace or formatting applied. </p>

</div>
</div>
<a class="anchor" id="a2025bc677c35f130e117dfda5bf1ef73"></a><!-- doxytag: member="json_object.h::JSON_C_TO_STRING_PRETTY" ref="a2025bc677c35f130e117dfda5bf1ef73" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define JSON_C_TO_STRING_PRETTY&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A flag for the <a class="el" href="json__object_8h.html#a84421dab94ccad42e901e534c6d7b658">json_object_to_json_string_ext()</a> and <a class="el" href="json__util_8h.html#a1ddcf96dd176ed447ce4df383190cfa8">json_object_to_file_ext()</a> functions which causes the output to be formatted.</p>
<p>See the "Two Space Tab" option at <a href="http://jsonformatter.curiousconcept.com/">http://jsonformatter.curiousconcept.com/</a> for an example of the format. </p>

</div>
</div>
<a class="anchor" id="aa821746c8668e6ad62bed90ec9e00103"></a><!-- doxytag: member="json_object.h::JSON_C_TO_STRING_SPACED" ref="aa821746c8668e6ad62bed90ec9e00103" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define JSON_C_TO_STRING_SPACED&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A flag for the <a class="el" href="json__object_8h.html#a84421dab94ccad42e901e534c6d7b658">json_object_to_json_string_ext()</a> and <a class="el" href="json__util_8h.html#a1ddcf96dd176ed447ce4df383190cfa8">json_object_to_file_ext()</a> functions which causes the output to have minimal whitespace inserted to make things slightly more readable. </p>

</div>
</div>
<a class="anchor" id="a268a63dd1b2e6d81559e268a4529e9bf"></a><!-- doxytag: member="json_object.h::JSON_OBJECT_DEF_HASH_ENTRIES" ref="a268a63dd1b2e6d81559e268a4529e9bf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define JSON_OBJECT_DEF_HASH_ENTRIES&nbsp;&nbsp;&nbsp;16</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="acf5f514a9e0061c10fc08055762639ee"></a><!-- doxytag: member="json_object.h::json_object_object_foreach" ref="acf5f514a9e0061c10fc08055762639ee" args="(obj, key, val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define json_object_object_foreach</td>
          <td>(</td>
          <td class="paramtype">obj, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">val&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordtype">char</span> *key; <span class="keyword">struct </span><a class="code" href="structjson__object.html">json_object</a> *val; <span class="keyword">struct </span><a class="code" href="structlh__entry.html">lh_entry</a> *entry; \
 <span class="keywordflow">for</span>(entry = <a class="code" href="json__object_8h.html#a9840421d6b45a7d00a42e13e379b54b5">json_object_get_object</a>(obj)-&gt;head; (entry ? (key = (<span class="keywordtype">char</span>*)entry-&gt;<a class="code" href="structlh__entry.html#a6b176b3582c9cf553af6431750f5c3b6">k</a>, val = (<span class="keyword">struct</span> <a class="code" href="structjson__object.html">json_object</a>*)entry-&gt;<a class="code" href="structlh__entry.html#a1b676732ab2ad3eeaedf6ec60a6a0835">v</a>, entry) : 0); entry = entry-&gt;<a class="code" href="structlh__entry.html#a7c40c46e72d9a0ba071a8d49d535bc67">next</a>)
</pre></div><p>Iterate through all keys and values of an object </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>the local name for the char* key variable defined in the body </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>the local name for the json_object* object variable defined in the body </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a71f07006c12d78f7bbf4cb716a5af3a6"></a><!-- doxytag: member="json_object.h::json_object_object_foreachC" ref="a71f07006c12d78f7bbf4cb716a5af3a6" args="(obj, iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define json_object_object_foreachC</td>
          <td>(</td>
          <td class="paramtype">obj, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">iter&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;for(iter.entry = json_object_get_object(obj)-&gt;head; (iter.entry ? (iter.key = (char*)iter.entry-&gt;k, iter.val = (struct <a class="el" href="structjson__object.html">json_object</a>*)iter.entry-&gt;v, iter.entry) : 0); iter.entry = iter.entry-&gt;next)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Iterate through all keys and values of an object (ANSI C Safe) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>iter</em>&nbsp;</td><td>the object iterator </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa8cecfc5c5c054d2875c03e77b7be15d"></a><!-- doxytag: member="json_object.h::TRUE" ref="aa8cecfc5c5c054d2875c03e77b7be15d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TRUE&nbsp;&nbsp;&nbsp;((<a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a>)1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a6d6d32d8b026ea2025df519b9e90f44a"></a><!-- doxytag: member="json_object.h::array_list" ref="a6d6d32d8b026ea2025df519b9e90f44a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structarray__list.html">array_list</a> <a class="el" href="structarray__list.html">array_list</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a81f02022906fafc71eb9197049f07f73"></a><!-- doxytag: member="json_object.h::json_bool" ref="a81f02022906fafc71eb9197049f07f73" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int <a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af27907ced0f5a43409ad96430fe0f914"></a><!-- doxytag: member="json_object.h::json_object" ref="af27907ced0f5a43409ad96430fe0f914" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structjson__object.html">json_object</a> <a class="el" href="structjson__object.html">json_object</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af88126730e765f2068968f4b16fd074f"></a><!-- doxytag: member="json_object.h::json_object_iter" ref="af88126730e765f2068968f4b16fd074f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structjson__object__iter.html">json_object_iter</a> <a class="el" href="structjson__object__iter.html">json_object_iter</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4dd5e5b65aee7f376f529f86b210ff49"></a><!-- doxytag: member="json_object.h::json_tokener" ref="a4dd5e5b65aee7f376f529f86b210ff49" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structjson__tokener.html">json_tokener</a> <a class="el" href="structjson__tokener.html">json_tokener</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aba5eff84f8638d22f50403175f270c96"></a><!-- doxytag: member="json_object.h::json_type" ref="aba5eff84f8638d22f50403175f270c96" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06c">json_type</a>  <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06c">json_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a766e90057496fc6712d6be0da180a21f"></a><!-- doxytag: member="json_object.h::lh_table" ref="a766e90057496fc6712d6be0da180a21f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structlh__table.html">lh_table</a> <a class="el" href="structlh__table.html">lh_table</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ace274df280df67463ff417b1b3392395"></a><!-- doxytag: member="json_object.h::printbuf" ref="ace274df280df67463ff417b1b3392395" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structprintbuf.html">printbuf</a> <a class="el" href="structprintbuf.html">printbuf</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ac75c61993722a9b8aaa44704072ec06c"></a><!-- doxytag: member="json_object.h::json_type" ref="ac75c61993722a9b8aaa44704072ec06c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06c">json_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ac75c61993722a9b8aaa44704072ec06ca127e62d156e13517471fcde3378979c1"></a><!-- doxytag: member="json_type_null" ref="ac75c61993722a9b8aaa44704072ec06ca127e62d156e13517471fcde3378979c1" args="" -->json_type_null</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac75c61993722a9b8aaa44704072ec06ca5d15299e90dbb9935ff6d3e2c22a285c"></a><!-- doxytag: member="json_type_boolean" ref="ac75c61993722a9b8aaa44704072ec06ca5d15299e90dbb9935ff6d3e2c22a285c" args="" -->json_type_boolean</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac75c61993722a9b8aaa44704072ec06cac6ac2d9a16577d00210fea64d16b47cd"></a><!-- doxytag: member="json_type_double" ref="ac75c61993722a9b8aaa44704072ec06cac6ac2d9a16577d00210fea64d16b47cd" args="" -->json_type_double</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac75c61993722a9b8aaa44704072ec06ca7bf325c213b43c5f970ae2d4443ab956"></a><!-- doxytag: member="json_type_int" ref="ac75c61993722a9b8aaa44704072ec06ca7bf325c213b43c5f970ae2d4443ab956" args="" -->json_type_int</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac75c61993722a9b8aaa44704072ec06cac966c8008f0b2c07da59ee8a60ad440f"></a><!-- doxytag: member="json_type_object" ref="ac75c61993722a9b8aaa44704072ec06cac966c8008f0b2c07da59ee8a60ad440f" args="" -->json_type_object</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac75c61993722a9b8aaa44704072ec06cae536c8c9da4648e6b9348abddde6113c"></a><!-- doxytag: member="json_type_array" ref="ac75c61993722a9b8aaa44704072ec06cae536c8c9da4648e6b9348abddde6113c" args="" -->json_type_array</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac75c61993722a9b8aaa44704072ec06cac9f56e57c09245522d764015a054faa6"></a><!-- doxytag: member="json_type_string" ref="ac75c61993722a9b8aaa44704072ec06cac9f56e57c09245522d764015a054faa6" args="" -->json_type_string</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="acc89c0f58947d499e2868ac8b62bed49"></a><!-- doxytag: member="json_object.h::json_object_array_add" ref="acc89c0f58947d499e2868ac8b62bed49" args="(struct json_object *obj, struct json_object *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int json_object_array_add </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add an element to the end of a <a class="el" href="structjson__object.html">json_object</a> of type json_type_array</p>
<p>The reference count will *not* be incremented. This is to make adding fields to objects in code more compact. If you want to retain a reference to an added object you must wrap the passed object with json_object_get</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> to be added </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5c9120a6d644ea12a61e2ec8520130c6"></a><!-- doxytag: member="json_object.h::json_object_array_get_idx" ref="a5c9120a6d644ea12a61e2ec8520130c6" args="(struct json_object *obj, int idx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_array_get_idx </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>idx</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the element at specificed index of the array (a <a class="el" href="structjson__object.html">json_object</a> of type json_type_array) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>the index to get the element at </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <a class="el" href="structjson__object.html">json_object</a> at the specified index (or NULL) </dd></dl>

</div>
</div>
<a class="anchor" id="a2e62d4b19de8f297595f3b4aaa0ec453"></a><!-- doxytag: member="json_object.h::json_object_array_length" ref="a2e62d4b19de8f297595f3b4aaa0ec453" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int json_object_array_length </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the length of a <a class="el" href="structjson__object.html">json_object</a> of type json_type_array </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>an int </dd></dl>

</div>
</div>
<a class="anchor" id="a2d19d21b495e1e0d3f711093d97a5104"></a><!-- doxytag: member="json_object.h::json_object_array_put_idx" ref="a2d19d21b495e1e0d3f711093d97a5104" args="(struct json_object *obj, int idx, struct json_object *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int json_object_array_put_idx </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Insert or replace an element at a specified index in an array (a <a class="el" href="structjson__object.html">json_object</a> of type json_type_array)</p>
<p>The reference count will *not* be incremented. This is to make adding fields to objects in code more compact. If you want to retain a reference to an added object you must wrap the passed object with json_object_get</p>
<p>The reference count of a replaced object will be decremented.</p>
<p>The array size will be automatically be expanded to the size of the index if the index is larger than the current size.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>the index to insert the element at </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> to be added </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa1b05eeaa9c92f079facece87d6a0149"></a><!-- doxytag: member="json_object.h::json_object_array_sort" ref="aa1b05eeaa9c92f079facece87d6a0149" args="(struct json_object *jso, int(*sort_fn)(const void *, const void *))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void json_object_array_sort </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>jso</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(const void *, const void *)&nbsp;</td>
          <td class="paramname"> <em>sort_fn</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sorts the elements of jso of type json_type_array</p>
<p>Pointers to the <a class="el" href="structjson__object.html">json_object</a> pointers will be passed as the two arguments to </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sort_fn</em>&nbsp;</td><td>a sorting function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acc3628d97c6308dc967006e4268c4e7f"></a><!-- doxytag: member="json_object.h::json_object_get" ref="acc3628d97c6308dc967006e4268c4e7f" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_get </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Increment the reference count of <a class="el" href="structjson__object.html">json_object</a>, thereby grabbing shared ownership of obj.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aba4e8df5e00bdc91a89bfb775e04ed70"></a><!-- doxytag: member="json_object.h::json_object_get_array" ref="aba4e8df5e00bdc91a89bfb775e04ed70" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structarray__list.html">array_list</a>* json_object_get_array </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the arraylist of a <a class="el" href="structjson__object.html">json_object</a> of type json_type_array </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>an arraylist </dd></dl>

</div>
</div>
<a class="anchor" id="a3be3153ae5158ed24a49d74fbf14149f"></a><!-- doxytag: member="json_object.h::json_object_get_boolean" ref="a3be3153ae5158ed24a49d74fbf14149f" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a> json_object_get_boolean </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the json_bool value of a <a class="el" href="structjson__object.html">json_object</a></p>
<p>The type is coerced to a json_bool if the passed object is not a json_bool. integer and double objects will return FALSE if there value is zero or TRUE otherwise. If the passed object is a string it will return TRUE if it has a non zero length. If any other object type is passed TRUE will be returned if the object is not NULL.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a json_bool </dd></dl>

</div>
</div>
<a class="anchor" id="a9cf586fba906a597a121423045cb2a45"></a><!-- doxytag: member="json_object.h::json_object_get_double" ref="a9cf586fba906a597a121423045cb2a45" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double json_object_get_double </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the double floating point value of a <a class="el" href="structjson__object.html">json_object</a></p>
<p>The type is coerced to a double if the passed object is not a double. integer objects will return their double conversion. Strings will be parsed as a double. If no conversion exists then 0.0 is returned and errno is set to EINVAL. null is equivalent to 0 (no error values set)</p>
<p>If the value is too big to fit in a double, then the value is set to the closest infinity with errno set to ERANGE. If strings cannot be converted to their double value, then EINVAL is set &amp; NaN is returned.</p>
<p>Arrays of length 0 are interpreted as 0 (with no error flags set). Arrays of length 1 are effectively cast to the equivalent object and converted using the above rules. All other arrays set the error to EINVAL &amp; return NaN.</p>
<p>NOTE: Set errno to 0 directly before a call to this function to determine whether or not conversion was successful (it does not clear the value for you).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a double floating point number </dd></dl>

</div>
</div>
<a class="anchor" id="ae6cab7d4c7c707b9053035a6405d3891"></a><!-- doxytag: member="json_object.h::json_object_get_int" ref="ae6cab7d4c7c707b9053035a6405d3891" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t json_object_get_int </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the int value of a <a class="el" href="structjson__object.html">json_object</a></p>
<p>The type is coerced to a int if the passed object is not a int. double objects will return their integer conversion. Strings will be parsed as an integer. If no conversion exists then 0 is returned and errno is set to EINVAL. null is equivalent to 0 (no error values set)</p>
<p>Note that integers are stored internally as 64-bit values. If the value of too big or too small to fit into 32-bit, INT32_MAX or INT32_MIN are returned, respectively.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>an int </dd></dl>

</div>
</div>
<a class="anchor" id="a3493894ebd226249118582e640af6944"></a><!-- doxytag: member="json_object.h::json_object_get_int64" ref="a3493894ebd226249118582e640af6944" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t json_object_get_int64 </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the int value of a <a class="el" href="structjson__object.html">json_object</a></p>
<p>The type is coerced to a int64 if the passed object is not a int64. double objects will return their int64 conversion. Strings will be parsed as an int64. If no conversion exists then 0 is returned.</p>
<p>NOTE: Set errno to 0 directly before a call to this function to determine whether or not conversion was successful (it does not clear the value for you).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>an int64 </dd></dl>

</div>
</div>
<a class="anchor" id="a9840421d6b45a7d00a42e13e379b54b5"></a><!-- doxytag: member="json_object.h::json_object_get_object" ref="a9840421d6b45a7d00a42e13e379b54b5" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structlh__table.html">lh_table</a>* json_object_get_object </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the hashtable of a <a class="el" href="structjson__object.html">json_object</a> of type json_type_object </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a linkhash </dd></dl>

</div>
</div>
<a class="anchor" id="ad24f1c4c22b2a7d33e7b562c01f2ca65"></a><!-- doxytag: member="json_object.h::json_object_get_string" ref="ad24f1c4c22b2a7d33e7b562c01f2ca65" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* json_object_get_string </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the string value of a <a class="el" href="structjson__object.html">json_object</a></p>
<p>If the passed object is not of type json_type_string then the JSON representation of the object is returned.</p>
<p>The returned string memory is managed by the <a class="el" href="structjson__object.html">json_object</a> and will be freed when the reference count of the <a class="el" href="structjson__object.html">json_object</a> drops to zero.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a string </dd></dl>

</div>
</div>
<a class="anchor" id="ad821384d0d8515d5ed4eec44d7101772"></a><!-- doxytag: member="json_object.h::json_object_get_string_len" ref="ad821384d0d8515d5ed4eec44d7101772" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int json_object_get_string_len </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the string length of a <a class="el" href="structjson__object.html">json_object</a></p>
<p>If the passed object is not of type json_type_string then zero will be returned.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>int </dd></dl>

</div>
</div>
<a class="anchor" id="adc5e998b4897b6e450bd0975a58d2f72"></a><!-- doxytag: member="json_object.h::json_object_get_type" ref="adc5e998b4897b6e450bd0975a58d2f72" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06c">json_type</a> json_object_get_type </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the type of the <a class="el" href="structjson__object.html">json_object</a>. See also <a class="el" href="json__util_8h.html#a74031a1b948dc9fed3f367ea6ce78389">json_type_to_name()</a> to turn this into a string suitable, for instance, for logging.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>type being one of: json_type_null (i.e. obj == NULL), json_type_boolean, json_type_double, json_type_int, json_type_object, json_type_array, json_type_string, </dd></dl>

</div>
</div>
<a class="anchor" id="ab6dc8b19f8da310e78f402f83d6ae6c5"></a><!-- doxytag: member="json_object.h::json_object_is_type" ref="ab6dc8b19f8da310e78f402f83d6ae6c5" args="(struct json_object *obj, enum json_type type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int json_object_is_type </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06c">json_type</a>&nbsp;</td>
          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if the <a class="el" href="structjson__object.html">json_object</a> is of a given type </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>one of: json_type_null (i.e. obj == NULL), json_type_boolean, json_type_double, json_type_int, json_type_object, json_type_array, json_type_string, </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9b5af06e9a99e16c6d9b6459a685ea3f"></a><!-- doxytag: member="json_object.h::json_object_new_array" ref="a9b5af06e9a99e16c6d9b6459a685ea3f" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_new_array </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a new empty <a class="el" href="structjson__object.html">json_object</a> of type json_type_array </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a <a class="el" href="structjson__object.html">json_object</a> of type json_type_array </dd></dl>

</div>
</div>
<a class="anchor" id="a93cfacfdd1000c739ad19df0a080cb85"></a><!-- doxytag: member="json_object.h::json_object_new_boolean" ref="a93cfacfdd1000c739ad19df0a080cb85" args="(json_bool b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_new_boolean </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a>&nbsp;</td>
          <td class="paramname"> <em>b</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a new empty <a class="el" href="structjson__object.html">json_object</a> of type json_type_boolean </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>a json_bool TRUE or FALSE (0 or 1) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a <a class="el" href="structjson__object.html">json_object</a> of type json_type_boolean </dd></dl>

</div>
</div>
<a class="anchor" id="a2e9c761833a4f5d0a0c60640377e3cec"></a><!-- doxytag: member="json_object.h::json_object_new_double" ref="a2e9c761833a4f5d0a0c60640377e3cec" args="(double d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_new_double </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>d</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a new empty <a class="el" href="structjson__object.html">json_object</a> of type json_type_double </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>the double </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a <a class="el" href="structjson__object.html">json_object</a> of type json_type_double </dd></dl>

</div>
</div>
<a class="anchor" id="aa7db8ceb1afe1b93afc63c10b8c57560"></a><!-- doxytag: member="json_object.h::json_object_new_int" ref="aa7db8ceb1afe1b93afc63c10b8c57560" args="(int32_t i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_new_int </td>
          <td>(</td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>i</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a new empty <a class="el" href="structjson__object.html">json_object</a> of type json_type_int Note that values are stored as 64-bit values internally. To ensure the full range is maintained, use json_object_new_int64 instead. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>the integer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a <a class="el" href="structjson__object.html">json_object</a> of type json_type_int </dd></dl>

</div>
</div>
<a class="anchor" id="a54a27690a1927354966189166bba6ca3"></a><!-- doxytag: member="json_object.h::json_object_new_int64" ref="a54a27690a1927354966189166bba6ca3" args="(int64_t i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_new_int64 </td>
          <td>(</td>
          <td class="paramtype">int64_t&nbsp;</td>
          <td class="paramname"> <em>i</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a new empty <a class="el" href="structjson__object.html">json_object</a> of type json_type_int </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>the integer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a <a class="el" href="structjson__object.html">json_object</a> of type json_type_int </dd></dl>

</div>
</div>
<a class="anchor" id="af0ed3555604f39ac74b5e28bc5b1f82c"></a><!-- doxytag: member="json_object.h::json_object_new_object" ref="af0ed3555604f39ac74b5e28bc5b1f82c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_new_object </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a new empty object with a reference count of 1. The caller of this object initially has sole ownership. Remember, when using json_object_object_add or json_object_array_put_idx, ownership will transfer to the object/array. Call json_object_get if you want to maintain shared ownership or also add this object as a child of multiple objects or arrays. Any ownerships you acquired but did not transfer must be released through json_object_put.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a <a class="el" href="structjson__object.html">json_object</a> of type json_type_object </dd></dl>

</div>
</div>
<a class="anchor" id="a48eb92a8208e6718e55edf1130e8e4b8"></a><!-- doxytag: member="json_object.h::json_object_new_string" ref="a48eb92a8208e6718e55edf1130e8e4b8" args="(const char *s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_new_string </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>s</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a new empty <a class="el" href="structjson__object.html">json_object</a> of type json_type_string</p>
<p>A copy of the string is made and the memory is managed by the <a class="el" href="structjson__object.html">json_object</a></p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the string </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a <a class="el" href="structjson__object.html">json_object</a> of type json_type_string </dd></dl>

</div>
</div>
<a class="anchor" id="a9d14fd03ed7520c4aa33ab53b4569414"></a><!-- doxytag: member="json_object.h::json_object_new_string_len" ref="a9d14fd03ed7520c4aa33ab53b4569414" args="(const char *s, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_new_string_len </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a04448b1c63173e1bfe49965835732075"></a><!-- doxytag: member="json_object.h::json_object_object_add" ref="a04448b1c63173e1bfe49965835732075" args="(struct json_object *obj, const char *key, struct json_object *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void json_object_object_add </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add an object field to a <a class="el" href="structjson__object.html">json_object</a> of type json_type_object</p>
<p>The reference count will *not* be incremented. This is to make adding fields to objects in code more compact. If you want to retain a reference to an added object, independent of the lifetime of obj, you must wrap the passed object with json_object_get.</p>
<p>Upon calling this, the ownership of val transfers to obj. Thus you must make sure that you do in fact have ownership over this object. For instance, json_object_new_object will give you ownership until you transfer it, whereas json_object_object_get does not.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>the object field name (a private copy will be duplicated) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>a <a class="el" href="structjson__object.html">json_object</a> or NULL member to associate with the given field </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a03653c18aafccd1ffba1ad318e342845"></a><!-- doxytag: member="json_object.h::json_object_object_del" ref="a03653c18aafccd1ffba1ad318e342845" args="(struct json_object *obj, const char *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void json_object_object_del </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Delete the given <a class="el" href="structjson__object.html">json_object</a> field</p>
<p>The reference count will be decremented for the deleted object. If there are no more owners of the value represented by this key, then the value is freed. Otherwise, the reference to the value will remain in memory.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>the object field name </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac11730ad909d1f9eb077d1ce9ff8b153"></a><!-- doxytag: member="json_object.h::json_object_object_get" ref="ac11730ad909d1f9eb077d1ce9ff8b153" args="(struct json_object *obj, const char *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_object_object_get </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the <a class="el" href="structjson__object.html">json_object</a> associate with a given object field</p>
<p>*No* reference counts will be changed. There is no need to manually adjust reference counts through the json_object_put/json_object_get methods unless you need to have the child (value) reference maintain a different lifetime than the owning parent (obj). Ownership of the returned value is retained by obj (do not do json_object_put unless you have done a json_object_get). If you delete the value from obj (json_object_object_del) and wish to access the returned reference afterwards, make sure you have first gotten shared ownership through json_object_get (&amp; don't forget to do a json_object_put or transfer ownership to prevent a memory leak).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>the object field name </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <a class="el" href="structjson__object.html">json_object</a> associated with the given field name </dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Please use json_object_object_get_ex </dd></dl>

</div>
</div>
<a class="anchor" id="af3f38b3395b1af8e9d3ac73818c3a936"></a><!-- doxytag: member="json_object.h::json_object_object_get_ex" ref="af3f38b3395b1af8e9d3ac73818c3a936" args="(struct json_object *obj, const char *key, struct json_object **value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_bool</a> json_object_object_get_ex </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> **&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the <a class="el" href="structjson__object.html">json_object</a> associated with a given object field.</p>
<p>This returns true if the key is found, false in all other cases (including if obj isn't a json_type_object).</p>
<p>*No* reference counts will be changed. There is no need to manually adjust reference counts through the json_object_put/json_object_get methods unless you need to have the child (value) reference maintain a different lifetime than the owning parent (obj). Ownership of value is retained by obj.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>the object field name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>a pointer where to store a reference to the <a class="el" href="structjson__object.html">json_object</a> associated with the given field name.</td></tr>
  </table>
  </dd>
</dl>
<p>It is safe to pass a NULL value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>whether or not the key exists </dd></dl>

</div>
</div>
<a class="anchor" id="accc34b38e15e46357d64a0beed3d0150"></a><!-- doxytag: member="json_object.h::json_object_put" ref="accc34b38e15e46357d64a0beed3d0150" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void json_object_put </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Decrement the reference count of <a class="el" href="structjson__object.html">json_object</a> and free if it reaches zero. You must have ownership of obj prior to doing this or you will cause an imbalance in the reference count.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1f62a660e2619559d1f3f54cd7483ff8"></a><!-- doxytag: member="json_object.h::json_object_to_json_string" ref="a1f62a660e2619559d1f3f54cd7483ff8" args="(struct json_object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* json_object_to_json_string </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Stringify object to json format. Equivalent to json_object_to_json_string_ext(obj, JSON_C_TO_STRING_SPACED) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a string in JSON format </dd></dl>

</div>
</div>
<a class="anchor" id="a84421dab94ccad42e901e534c6d7b658"></a><!-- doxytag: member="json_object.h::json_object_to_json_string_ext" ref="a84421dab94ccad42e901e534c6d7b658" args="(struct json_object *obj, int flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* json_object_to_json_string_ext </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Stringify object to json format </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the <a class="el" href="structjson__object.html">json_object</a> instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>formatting options, see JSON_C_TO_STRING_PRETTY and other constants </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a string in JSON format </dd></dl>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a20dbe4913551cefa6b4b0a77fd4397c4"></a><!-- doxytag: member="json_object.h::json_hex_chars" ref="a20dbe4913551cefa6b4b0a77fd4397c4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="json__object_8h.html#a20dbe4913551cefa6b4b0a77fd4397c4">json_hex_chars</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a27427f89f2fc995639e366635fbe58ac"></a><!-- doxytag: member="json_object.h::json_number_chars" ref="a27427f89f2fc995639e366635fbe58ac" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="json__object_8h.html#a27427f89f2fc995639e366635fbe58ac">json_number_chars</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 28 15:52:47 2012 for json-c by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>