[no ci] tweaking documentation
This commit is contained in:
parent
d036fdf919
commit
db19c7675f
|
@ -256,7 +256,8 @@ support for users who avoid exceptions. See [the simdjson error handling documen
|
||||||
> parsed a value (such as by casting to double), you cannot get at it again.
|
> parsed a value (such as by casting to double), you cannot get at it again.
|
||||||
* **Field Access:** To get the value of the "foo" field in an object, use `object["foo"]`. This will
|
* **Field Access:** To get the value of the "foo" field in an object, use `object["foo"]`. This will
|
||||||
scan through the object looking for the field with the matching string, doing a character-by-character
|
scan through the object looking for the field with the matching string, doing a character-by-character
|
||||||
comparison.
|
comparison. For efficiency reason, you should avoid looking up the same field repeatedly: e.g., do
|
||||||
|
not do `object["foo"]` followed by `object["foo"]` with the same `object` instance.
|
||||||
|
|
||||||
> NOTE: JSON allows you to escape characters in keys. E.g., the key `"date"` may be written as
|
> NOTE: JSON allows you to escape characters in keys. E.g., the key `"date"` may be written as
|
||||||
> `"\u0064\u0061\u0074\u0065"`. By default, simdjson does *not* unescape keys when matching by default.
|
> `"\u0064\u0061\u0074\u0065"`. By default, simdjson does *not* unescape keys when matching by default.
|
||||||
|
@ -372,6 +373,8 @@ support for users who avoid exceptions. See [the simdjson error handling documen
|
||||||
cout << value << endl; // Prints 3.14
|
cout << value << endl; // Prints 3.14
|
||||||
```
|
```
|
||||||
This examples also show how we can string several operations and only check for the error once, a strategy we call *error chaining*.
|
This examples also show how we can string several operations and only check for the error once, a strategy we call *error chaining*.
|
||||||
|
Though error chaining makes the code very compact, it also makes error reporting less precise: in this instance, you may get the
|
||||||
|
same error whether the field "str", "123" or "abc" is missing. If you need to break down error handling per operation, avoid error chaining.
|
||||||
* **Counting elements in arrays:** Sometimes it is useful to scan an array to determine its length prior to parsing it.
|
* **Counting elements in arrays:** Sometimes it is useful to scan an array to determine its length prior to parsing it.
|
||||||
For this purpose, `array` instances have a `count_elements` method. Users should be
|
For this purpose, `array` instances have a `count_elements` method. Users should be
|
||||||
aware that the `count_elements` method can be costly since it requires scanning the
|
aware that the `count_elements` method can be costly since it requires scanning the
|
||||||
|
@ -698,6 +701,8 @@ be represented as `value` instances. You can check that a document is a scalar w
|
||||||
Error Handling
|
Error Handling
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
Error handing with exception and a single try/catch clause makes the code simple, but it gives you little control over errors. For easier debugging or more robust error handling, you may want to consider our exception-free approach.
|
||||||
|
|
||||||
The entire simdjson API is usable with and without exceptions. All simdjson APIs that can fail return `simdjson_result<T>`, which is a <value, error_code>
|
The entire simdjson API is usable with and without exceptions. All simdjson APIs that can fail return `simdjson_result<T>`, which is a <value, error_code>
|
||||||
pair. You can retrieve the value with .get() without generating an exception, like so:
|
pair. You can retrieve the value with .get() without generating an exception, like so:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue