Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
json
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
json
Commits
08c97df4
Commit
08c97df4
authored
Apr 17, 2016
by
Niels
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added examples
parent
1dee40a9
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
144 additions
and
20 deletions
+144
-20
doc/examples/at_json_pointer.cpp
doc/examples/at_json_pointer.cpp
+35
-0
doc/examples/at_json_pointer.link
doc/examples/at_json_pointer.link
+1
-0
doc/examples/at_json_pointer.output
doc/examples/at_json_pointer.output
+6
-0
doc/examples/at_json_pointer_const.cpp
doc/examples/at_json_pointer_const.cpp
+23
-0
doc/examples/at_json_pointer_const.link
doc/examples/at_json_pointer_const.link
+1
-0
doc/examples/at_json_pointer_const.output
doc/examples/at_json_pointer_const.output
+4
-0
src/json.hpp
src/json.hpp
+37
-10
src/json.hpp.re2c
src/json.hpp.re2c
+37
-10
No files found.
doc/examples/at_json_pointer.cpp
0 → 100644
View file @
08c97df4
#include <json.hpp>
using
json
=
nlohmann
::
json
;
int
main
()
{
// create a JSON value
json
j
=
{
{
"number"
,
1
},
{
"string"
,
"foo"
},
{
"array"
,
{
1
,
2
}}
};
// read-only access
// output element with JSON pointer "/number"
std
::
cout
<<
j
.
at
(
"/number"
_json_pointer
)
<<
'\n'
;
// output element with JSON pointer "/string"
std
::
cout
<<
j
.
at
(
"/string"
_json_pointer
)
<<
'\n'
;
// output element with JSON pointer "/array"
std
::
cout
<<
j
.
at
(
"/array"
_json_pointer
)
<<
'\n'
;
// output element with JSON pointer "/array/1"
std
::
cout
<<
j
.
at
(
"/array/1"
_json_pointer
)
<<
'\n'
;
// writing access
// change the string
j
.
at
(
"/string"
_json_pointer
)
=
"bar"
;
// output the changed string
std
::
cout
<<
j
[
"string"
]
<<
'\n'
;
// change an array element
j
.
at
(
"/array/1"
_json_pointer
)
=
21
;
// output the changed array
std
::
cout
<<
j
[
"array"
]
<<
'\n'
;
}
doc/examples/at_json_pointer.link
0 → 100644
View file @
08c97df4
<a target="_blank" href="http://melpon.org/wandbox/permlink/dGjf71qpuaptNhpP"><b>online</b></a>
\ No newline at end of file
doc/examples/at_json_pointer.output
0 → 100644
View file @
08c97df4
1
"foo"
[1,2]
2
"bar"
[1,21]
doc/examples/at_json_pointer_const.cpp
0 → 100644
View file @
08c97df4
#include <json.hpp>
using
json
=
nlohmann
::
json
;
int
main
()
{
// create a JSON value
json
j
=
{
{
"number"
,
1
},
{
"string"
,
"foo"
},
{
"array"
,
{
1
,
2
}}
};
// read-only access
// output element with JSON pointer "/number"
std
::
cout
<<
j
.
at
(
"/number"
_json_pointer
)
<<
'\n'
;
// output element with JSON pointer "/string"
std
::
cout
<<
j
.
at
(
"/string"
_json_pointer
)
<<
'\n'
;
// output element with JSON pointer "/array"
std
::
cout
<<
j
.
at
(
"/array"
_json_pointer
)
<<
'\n'
;
// output element with JSON pointer "/array/1"
std
::
cout
<<
j
.
at
(
"/array/1"
_json_pointer
)
<<
'\n'
;
}
doc/examples/at_json_pointer_const.link
0 → 100644
View file @
08c97df4
<a target="_blank" href="http://melpon.org/wandbox/permlink/O1Jx8KXGu0EqkwFg"><b>online</b></a>
\ No newline at end of file
doc/examples/at_json_pointer_const.output
0 → 100644
View file @
08c97df4
1
"foo"
[1,2]
2
src/json.hpp
View file @
08c97df4
...
...
@@ -3616,9 +3616,9 @@ class basic_json
@param[in] ptr a JSON pointer
@return reference to the
JSON value
pointed to by @a ptr
@return reference to the
element
pointed to by @a ptr
@complexity
Linear in the length of the JSON pointer
.
@complexity
Constant
.
@throw std::out_of_range if the JSON pointer can not be resolved
@throw std::domain_error if an array index begins with '0'
...
...
@@ -3641,18 +3641,17 @@ class basic_json
value; no `null` values are created. In particular, the the special value
`-` yields an exception.
@param[in] ptr
a JSON pointer
@param[in] ptr
JSON pointer to the desired element
@return
reference to the JSON value
pointed to by @a ptr
@return
const reference to the element
pointed to by @a ptr
@complexity
Linear in the length of the JSON pointer
.
@complexity
Constant
.
@throw std::out_of_range if the JSON pointer can not be resolved
@throw std::domain_error if an array index begins with '0'
@throw std::invalid_argument if an array index was not a number
@liveexample{The behavior is shown in the example.,
operatorjson_pointer_const}
@liveexample{The behavior is shown in the example.,operatorjson_pointer_const}
@since version 2.0.0
*/
...
...
@@ -3664,9 +3663,20 @@ class basic_json
/*!
@brief access specified element via JSON Pointer
Returns a reference to the element at with specified JSON pointer @a ptr.
Returns a reference to the element at with specified JSON pointer @a ptr,
with bounds checking.
@param[in] ptr JSON pointer to the desired element
@return reference to the element pointed to by @a ptr
@complexity Constant.
@throw std::out_of_range if the JSON pointer can not be resolved
@throw std::domain_error if an array index begins with '0'
@throw std::invalid_argument if an array index was not a number
@
param ptr JSON pointer to the desired element
@
liveexample{The behavior is shown in the example.,at_json_pointer}
@since version 2.0.0
*/
...
...
@@ -3676,7 +3686,24 @@ class basic_json
}
/*!
@copydoc basic_json::at(const json_pointer&)
@brief access specified element via JSON Pointer
Returns a const reference to the element at with specified JSON pointer
@a ptr, with bounds checking.
@param[in] ptr JSON pointer to the desired element
@return reference to the element pointed to by @a ptr
@complexity Constant.
@throw std::out_of_range if the JSON pointer can not be resolved
@throw std::domain_error if an array index begins with '0'
@throw std::invalid_argument if an array index was not a number
@liveexample{The behavior is shown in the example.,at_json_pointer_const}
@since version 2.0.0
*/
const_reference
at
(
const
json_pointer
&
ptr
)
const
{
...
...
src/json.hpp.re2c
View file @
08c97df4
...
...
@@ -3616,9 +3616,9 @@ class basic_json
@param[in] ptr a JSON pointer
@return reference to the
JSON value
pointed to by @a ptr
@return reference to the
element
pointed to by @a ptr
@complexity
Linear in the length of the JSON pointer
.
@complexity
Constant
.
@throw std::out_of_range if the JSON pointer can not be resolved
@throw std::domain_error if an array index begins with '0'
...
...
@@ -3641,18 +3641,17 @@ class basic_json
value; no `null` values are created. In particular, the the special value
`-` yields an exception.
@param[in] ptr
a JSON pointer
@param[in] ptr
JSON pointer to the desired element
@return
reference to the JSON value
pointed to by @a ptr
@return
const reference to the element
pointed to by @a ptr
@complexity
Linear in the length of the JSON pointer
.
@complexity
Constant
.
@throw std::out_of_range if the JSON pointer can not be resolved
@throw std::domain_error if an array index begins with '0'
@throw std::invalid_argument if an array index was not a number
@liveexample{The behavior is shown in the example.,
operatorjson_pointer_const}
@liveexample{The behavior is shown in the example.,operatorjson_pointer_const}
@since version 2.0.0
*/
...
...
@@ -3664,9 +3663,20 @@ class basic_json
/*!
@brief access specified element via JSON Pointer
Returns a reference to the element at with specified JSON pointer @a ptr.
Returns a reference to the element at with specified JSON pointer @a ptr,
with bounds checking.
@param[in] ptr JSON pointer to the desired element
@return reference to the element pointed to by @a ptr
@complexity Constant.
@throw std::out_of_range if the JSON pointer can not be resolved
@throw std::domain_error if an array index begins with '0'
@throw std::invalid_argument if an array index was not a number
@
param ptr JSON pointer to the desired element
@
liveexample{The behavior is shown in the example.,at_json_pointer}
@since version 2.0.0
*/
...
...
@@ -3676,7 +3686,24 @@ class basic_json
}
/*!
@copydoc basic_json::at(const json_pointer&)
@brief access specified element via JSON Pointer
Returns a const reference to the element at with specified JSON pointer
@a ptr, with bounds checking.
@param[in] ptr JSON pointer to the desired element
@return reference to the element pointed to by @a ptr
@complexity Constant.
@throw std::out_of_range if the JSON pointer can not be resolved
@throw std::domain_error if an array index begins with '0'
@throw std::invalid_argument if an array index was not a number
@liveexample{The behavior is shown in the example.,at_json_pointer_const}
@since version 2.0.0
*/
const_reference at(const json_pointer& ptr) const
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment