Alexandru Ardelean
fb3dc64427
json_object: introduce json_object_array_insert_idx() API function
The behavior of the json_object_array_put_idx() is that, if a user wants to
insert an element inside a JSON array, the element will be replaced.
For some cases, a user would want to insert an element into the JSON array
and shift the elements to the right.
For indexes that are outside the length of the current array this behaves
like json_object_array_put_idx().
If a user wants to enforce that the JSON array is not expanded, then the
json_object_array_length() function can be used to guard against that.
The main driver for this change is JSON patch, where the 'add' operation in
an array means inserting a value at a certain index and shifting everything
by one.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
4 years ago
Eric Haszlakiewicz
2b439ea598
Fix json_object_get_boolean() doc for the object and array cases (always returns 0), and add those cases to the test_cast test.
See also issue #658 .
5 years ago
Eric Haszlakiewicz
cb10a13e94
Remove the THIS_FUNCTION_IS_DEPRECATED define, we stopped using it long ago.
5 years ago
Eric Haszlakiewicz
4d9f6dd22e
Issue #642 : improve the docs for json_object_put() and json_object_get().
5 years ago
Eric Haszlakiewicz
2330c6f0de
Expand the doc for json_object_array_get_idx() to explain that it does not adjust refcounts.
5 years ago
Eric Haszlakiewicz
10a9ac245e
Issue #642 : improve docs for json_tokener.h and json_object_object_add().
5 years ago
Eric Haszlakiewicz
0b67caec1a
Add doc comment for json_object_new_array_ext().
5 years ago
Eric Haszlakiewicz
e26a1195f4
Add json_object_array_shrink() (and array_list_shrink()) and use it in json_tokener to minimize the amount of memory used. This results in a 39%-50% reduction in memory use (peak RSS, peak heap usage) on the jc-bench benchmark and 9% shorter runtime.
Also add the json_object_new_array_ext, array_list_new2, and array_list_shrink functions.
5 years ago
Björn Esser
d0dc3489dc
Enforce strict prototypes.
5 years ago
Björn Esser
78cd37fb18
Clean trailing white-space.
5 years ago
Eric Haszlakiewicz
19bbf2c069
Add includes and split off json_types.h to help ensure that headers can be included in any order.
5 years ago
dota17
8b162c4b89
clang-format the files
5 years ago
dota17
6359b79847
update json_object.c and testcase, delete json_object_uint_inc()
5 years ago
dota17
9532f94fa4
modify partial functions and testcase, in order to support automatic conversion for int64/uint64
5 years ago
dota17
c816de212b
modify the json_object, replace c_int64/c_uint64 with struct{union{int64, uint64},...}
5 years ago
dota17
3c3b5920f7
add uint64 data to json-c
5 years ago
Eric Haszlakiewicz
518f337ce8
Issue #539 : use a internal-only serializer function in json_object_new_double_s() to avoid potential conflicts with user code that uses the json_object_userdata_to_json_string serializer. Also, document the serializer-resetting behavior of json_object_set_double().
5 years ago
dota17
7ad72b81c5
update comment
5 years ago
dota17
010f33d460
add json_object_new_null
5 years ago
Eric Haszlakiewicz
7f30afc6e5
Fix some Windows compile issues, add JSON_EXPORT's, fix bogus character escapes, define __func__ and omit unistd.h if needed.
5 years ago
Eric Haszlakiewicz
eae040a84a
Issue #488 : use JSON_EXPORT on functions so they are properly exported on Windows.
6 years ago
andy5995
2942870325
remove [in] from params description
Keeping this would be inconsistent with the other documentation
6 years ago
andy5995
3b108935d0
json_object.h:document json_object_new_string_len()
I also added a couple trivial, but related, suggestions.
closes #460
6 years ago
Eric Haszlakiewicz
c1c71097a1
Issue #419 : document that NULL may be passed to json_object_put().
7 years ago
janczer
8bd62177e7
Fixed typos
7 years ago
Jonathan Wiens
cdc4e9f64b
Avoid uninitialized variable warnings
Fix json_object_object_foreach to avoid uninitialized variable warnings
using ANSI C or MSC.
7 years ago
Eric Haszlakiewicz
0992aac61f
Remove the TRUE and FALSE defines.
7 years ago
Rikard Falkeborn
84dcc01da1
Fix non-GNUC define for JSON_C_CONST_FUNCTION
7 years ago
Eric Haszlakiewicz
5b6d62259a
Apply gcc's "const" attribute to the json_c_object_sizeof() function as an optimizer hint. Also, rename that function from json_object_sizeof().
7 years ago
Björn Esser
c123a1c21b
json_object: Add size_t json_object_sizeof()
7 years ago
Eric Haszlakiewicz
d582d3ae5a
Undeprecate the array_list, lh_table and printbuf typedefs, but move each to the corresponding header files.
7 years ago
Eric Haszlakiewicz
8c82f0e5c3
Squash doxygen warnings, and make a few slight improvements to the docs.
7 years ago
Eric Haszlakiewicz
f2f103b986
Add a brief overview of each file to the docs.
7 years ago
Eric Haszlakiewicz
11ab365324
Deprecated a few typedefs, add docs on json_object_iter, move json_number_chars and json_hex-chars to json_object_private.h.
7 years ago
Eric Haszlakiewicz
aedd36ac8b
Make sure to include the "*" on function pointer arguments to avoid a warnings from VS2015. See also PR#384.
7 years ago
ssrlive
7709cb1355
Fix a VS 2015 compiler warning.
In VS 2015, the warning text is "warning C4550: expression evaluates to a function which is missing an argument list".
7 years ago
Eric Haszlakiewicz
5dae561d33
In json_object_deep_copy(), copy over _userdata, at least for json_type_string's with the default serializer set, and provide a way for people using custom serializers to provide a custom shallow_copy method.
7 years ago
Eric Haszlakiewicz
4dd92180c6
Merge branch 'json_deep_copy' of https://github.com/commodo/json-c into commodo-json_deep_copy
7 years ago
Eric Haszlakiewicz
3628f16dd6
Rename json_object_add_int() to json_object_int_inc() and eliminate the "int64" variant since we store 64-bit values internally anyway.
7 years ago
Alexandru Ardelean
bf80d5ad0e
json_object: implement json_object_deep_copy()
Because doing `json_tokener_parse(json_object_get_string(src))`
feels sloppy, dirty, and makes me want to cry at night
sometimes.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
8 years ago
Eric Haszlakiewicz
91662a5b69
Merge pull request #363 from jvijtiuk/integer_addition
Issue #338 , add json_object_add_int functions
7 years ago
Eric Haszlakiewicz
ac09581cc2
Issue #370 : work around Clang-on-windows oddities by rearranging ifdefs.
8 years ago
Juraj Vijtiuk
1110e84cce
Add json_object_add_int functions
8 years ago
Eric Haszlakiewicz
4ac47a0219
Issue#353: attempt to fix or ignore a few -Wdocumentation messages from Clang.
8 years ago
Eric Haszlakiewicz
4deed587e7
Merge pull request #319 from Dashlane/visual-studio-build
Windows: Fix dynamic library build with Visual Studio
8 years ago
Eric Haszlakiewicz
1a94c70336
Add a json_c_set_serialization_double_format() function to set the *library-wide* format for how doubles are written to a serialized JSON output.
8 years ago
David Henot
a9f265d166
Fix library build with Visual Studio
8 years ago
Stoian Ivanov
e518b22b72
string set and tests
9 years ago
Stoian Ivanov
05f025c075
some basic set
9 years ago
Stoian Ivanov
fae09456ae
json_object_set_boolean for upstream style check
9 years ago