Download the PHP package tonirilix/nested-json-flattener without Composer
On this page you can find all versions of the php package tonirilix/nested-json-flattener. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tonirilix/nested-json-flattener
More information about tonirilix/nested-json-flattener
Files in tonirilix/nested-json-flattener
Package nested-json-flattener
Short Description A php package to flatten nested json objects and nested arrays. It also allows you to create csv files from the flattened data.
License MIT
Informations about the package nested-json-flattener
NestedJsonFlattener
A php package to flatten nested json objects and nested arrays. It also allows you to create csv files from the flattened data.
Features
-
The package allows you to select a specific node of the json object or array and flat it. The selected node can be flattened whether is a object or collection.
- It takes in count the full path where a value is stored in a nested json object and uses it as header name. Let's use the example below.
If we'd like to flat that json object and put it into a csv file, the result would be as follows:
name | nested.type | nested.location | nested.geo.latitude | nested.geo.longitude | nested.primitivesCollection |
---|---|---|---|---|---|
This is a name | This is a type | Earth | 1234567890 | 0987654321 | 123, 456, 789 |
Credits
It's based on csvwriter npm package implementation.
How to use it
If you need to flat a nested json string
If you need to flat a nested array
If you need to select a specific path to be flattened
Read JsonPath documentation from Stefan Goessner to learn how to create paths.
If you need to write a csv file
TODO
- The package still needs to get configurations from params. See milestone
- Some of the params in mind are: whether take primitives arrays as one element or not (taken as one element by default)
- Add a way to create a configuration to tell the class how to handle internal collections. See milestone