Skip to content

bakyazi/bajson

Repository files navigation

bajson

library for converting to/from json

pypi Supported Python Versions

Install

 $ pip install bajson

Usage

JSON to CSV

  • the root of the input json should be in list format

    Invalid

    "data": [
        {
          "data": "value",
          "data1": "value1"
        },
        {
          "data": "value2",
          "data1": "value3"
        },
      ]

    Valid

    [
      {
        "data": "value",
        "data1": "value1"
      },
      {
        "data": "value2",
        "data1": "value3"
      },
    ]
  • Converting nested json objects

    [
      {
        "data": {
              "firstkey": "firstvalue",
              "secondvalue": "secondvalue",
            },           
        "data1": "value1"
      },
      {
        "data": {
              "firstkey": "firstvalue1",
              "secondvalue": "secondvalue1",
            },           
        "data1": "value2"
      },
    ]
    data.firstkey data.secondkey data1
    firstvalue secondvalue value1
    firstvalue1 secondvalue1 value2
  • Converting arrays in json objects

    [
      {
        "data": [
              "firstvalue",
              "secondvalue",
            ],           
        "data1": "value1"
      },
      {
        "data": [
              "firstvalue1",
            ],           
        "data1": "value2"
      },
    ]
    data.0 data.1 data1
    firstvalue secondvalue value1
    firstvalue1 value2

Code Example

from bajson.libcsv import json_to_csv

json_to_csv("input.json", "output.csv")

CSV to JSON

bajson can convert csv file to json format vice versa. Formats above are valid for this operation too. However there is one exception about array conversion,

If csv headers are as follows

data.0 data.1 data1
firstvalue secondvalue value1
firstvalue1 value2

This will be converted to object form instead of array form (it can be added in future release)

[
  {
    "data": {
          "0": "firstvalue",
          "1": "secondvalue",
        },           
    "data1": "value1"
  },
  {
    "data": {
          "0": "firstvalue1",
        },           
    "data1": "value2"
  },
]

Code Example

from bajson.libcsv import csv_to_json

csv_to_json("input.csv", "output.json")

Future features

  • Support string input/output parameters
  • JSON <==> XML

About

library for converting to/from json

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages