Joseph Olabisi
fb9a689dff
Adding DOM support for json path with wildcard ( #2346 )
...
* wip brute-force wildcard for json_path
* wip - bruteforce surface wildcard with result
* partially handle keys with wildcard
* wip - nested paths/pointers on wildcard results
* wip
* wip - handling child properties of wildcard result
* done - handling child properties of wildcard result
* fix key
* add support for wildcard for arrays
* handle array INCORRECT_TYPE
* rename at_path_new to at_path_with_wildcard
* add benchmark
* fix benchmark
* use memcmp
* minor improvements
* refactor to tail recursion
* nit
* approximately 30% improvement in runtime
* nit
* corrected logic
* nit
* cleanup
* add some initial tests
* cleanup 2
* modified: CMakeLists.txt
* cleanup
* cleanup
* cleanup
* cleanup
* restore examples/quickstart/CMakeLists.txt
* cleanup
* restore quickstart.cpp
* revert array-inl.h
* cleanup array-inl.h
* revert object-inl.h
* cleanup object-inl.h
* cleanup
* nit
* nit
* add test
* address some feedbacks
* address additional feedbacks (copilot)
* final changes based on feedback - reduce string allocations
* fix bug in object-inl.h
* fix logic for wildcards inside arrays
* add test for wildcard in nested array
* refactor and create util for getting key and json path
* minor error handling
* refactor process_json_path_of_child_element from recursion to loop in order to prevent stack overflow
* fix bug with array, add boundary check to get_next_key_and_json_path function
* add more tests
* fix boundary check and unnecessary string allocation
* minor changes
* fix
* fix jsonpathutil
* remove unneccessary string allocation
* some minor fixes
* documentation
* removing printout
* various fixes
* reorg of the CI test file
---------
Co-authored-by: Daniel Lemire <daniel@lemire.me >
2025-08-13 21:16:32 -04:00
Daniel Lemire
6cd8a6d776
adding pad function ( #2283 )
2024-10-29 21:26:01 -04:00
Daniel Lemire
c066b5421b
Jsonpath ( #2272 )
...
* Add support for JSONPath with '$' prefix and integrate into dom::at_path (#2266 )
- Updated `json_path_to_pointer_conversion` to support JSONPath starting with the '$' prefix, while maintaining compatibility with the existing implementation.
- Moved `json_path_to_pointer_conversion` to a separate header file for better modularity and to support JSONPath queries in `dom` mode.
- Implemented `at_path` functionality in `dom` mode to enable querying JSON using JSONPath.
- Added unit tests to validate the new JSONPath support in `dom` mode and ensure compatibility with both standard and existing JSONPath formats.
* two minor fixes
* more tests and documentation
* damn compiler warnings
* more documentation fixes
---------
Co-authored-by: Zhengguo Yang <yangzhgg@gmail.com >
2024-10-08 10:37:59 -04:00
Daniel Lemire
b9234be80f
complete number_in_string for documents, stringify the version macro and improving trailing content errors ( #1934 )
...
* This completes the '*_in_string' support within documents.
* Minor updates.
* Additional fixes.
2023-01-21 15:29:08 -05:00
Daniel Lemire
db08d78ed0
Documents better the type method and makes is_null return an error condition in some instances ( #1909 )
2022-10-06 11:47:40 -04:00
Daniel Lemire
c6f9c93c33
Use static variables to enforce initialization order. ( #1773 ) ( #1777 )
...
Fixes https://github.com/simdjson/simdjson/issues/1771
Co-authored-by: Hao Chen <chenhao.yalier@gmail.com >
2022-01-03 15:54:57 -05:00
N. Kolotov
7e1893db42
Added SIMDJSON_ prefix to STRINGIFY and to NO_SANITIZE_UNDEFINED macros. ( #1766 )
2021-12-21 09:53:06 -05:00
Daniel Lemire
f44a53271d
Documentation for issue 1562 (Accessing escaped key with on-demand API) ( #1563 )
...
* Documentation for issue 1562.
* Making exception-free.
* Improving wording.
2021-06-04 09:21:52 -04:00
Daniel Lemire
c1dffac28c
This moves all DOM (benchmark + test) files to a subdir ( #1549 )
...
* This moves all DOM (benchmark + test) files to a subdir
* Missing file.
* CMake + DLL is not pretty.
* Capitalizing AND
* Fixing mismatch endif
* Flipping the order.
* onedemand => ondemand
2021-04-30 18:33:45 -04:00