3.**If you're still interested, let's now mention limitations.**
3.**If you're still interested, let's now mention limitations.**
**Parsing/reading files can't be used in pararell.**`JsonObject` and `JsonArray` use external register during any parse operation involving files (string parsing is safe). By pararell, i mean parsing objects from one hierarchy, when previous one is unparsed. First one will be broken in such situation.
**Parsing/reading files can't be used in pararell.**`JsonObject` and `JsonArray` use external register during any parse operation involving files (string parsing is safe). By pararell, i mean parsing objects from one hierarchy, when previous one is unparsed. First one will be broken in such situation.
Also, *JsonRazor* treats syntax a little bit more freely than it probably should. Minor syntax mistakes may not cause problems, but wrong data is meant to throw an exception, meaning parsed data is correct.
Also, *JsonRazor* treats syntax a little bit more freely than it probably should. Minor syntax mistakes may not cause problems, but wrong data is meant to throw an exception, meaning parsed data is correct.
Important thing is that __*Razor* does not preserve order of elements of different types.__ This means that any children will be grouped according to their type, so their order is maintained within group, but order of types is always `PROPERTY`, `OBJECT` AND `ARRAY`. This is mainly due to optimisations to search/quieries. To preserve order of maximum number of elements, enumerate object with `AsLazy()` method, which will return original order.
Important thing is that __*Razor* does not preserve order of elements of different types.__ This means that any children will be grouped according to their type, so their order is maintained within group, but order of types is always `PROPERTY`, `OBJECT` AND `ARRAY`. This is mainly due to optimisations to search/quieries. To preserve order of maximum number of elements, enumerate object with `AsLazy()` method, which will return original order. (Starting from version 1.4.0 JsonToken expose Index property, that is set by JsonArray when parsing).
### Specific information <a name="index"/>
### Specific information <a name="index"/>
[Reading JSON from file or string](Reading json data)
[Reading JSON from file or string](Reading json data)