Convert json to string python 3

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    Data in transmitted across platforms using API calls. Data is mostly retrieved in JSON format. We can convert the obtained JSON data into String data for the ease of storing and working with it.

    Let’s see how to convert JSON to String.

    Method #1: Json to String on dummy data using “json.dumps”

    Python3

    import json

    a = {"name" : "GeeksforGeeks", "Topic" : "Json to String", "Method": 1}

    y = json.dumps(a)

    print(y)

    print(type(y))

    Output: 
     

    Convert json to string python 3

    Method #2: Json to String using an API using requests and “json.dumps”

    Python3

    Output: 

    Convert json to string python 3

    I did not explain my questions clearly at beginning. Try to use str() and json.dumps() when converting JSON to string in python.

    >>> data = {'jsonKey': 'jsonValue',"title": "hello world"}
    >>> print json.dumps(data)
    {"jsonKey": "jsonValue", "title": "hello world"}
    >>> print str(data)
    {'jsonKey': 'jsonValue', 'title': 'hello world'}
    >>> json.dumps(data)
    '{"jsonKey": "jsonValue", "title": "hello world"}'
    >>> str(data)
    "{'jsonKey': 'jsonValue', 'title': 'hello world'}"
    

    My question is:

    >>> data = {'jsonKey': 'jsonValue',"title": "hello world'"}
    >>> str(data)
    '{\'jsonKey\': \'jsonValue\', \'title\': "hello world\'"}'
    >>> json.dumps(data)
    '{"jsonKey": "jsonValue", "title": "hello world\'"}'
    >>> 
    

    My expected output: "{'jsonKey': 'jsonValue','title': 'hello world''}"

    >>> data = {'jsonKey': 'jsonValue',"title": "hello world""}
      File "", line 1
        data = {'jsonKey': 'jsonValue',"title": "hello world""}
                                                              ^
    SyntaxError: EOL while scanning string literal
    >>> data = {'jsonKey': 'jsonValue',"title": "hello world\""}
    >>> json.dumps(data)
    '{"jsonKey": "jsonValue", "title": "hello world\\""}'
    >>> str(data)
    '{\'jsonKey\': \'jsonValue\', \'title\': \'hello world"\'}'
    

    My expected output: "{'jsonKey': 'jsonValue','title': 'hello world\"'}"

    It is not necessary to change the output string to json (dict) again for me.

    How to do this?


    JSON is a syntax for storing and exchanging data.

    JSON is text, written with JavaScript object notation.


    JSON in Python

    Python has a built-in package called json, which can be used to work with JSON data.

    Example

    Import the json module:

    import json


    Parse JSON - Convert from JSON to Python

    If you have a JSON string, you can parse it by using the json.loads() method.

    Example

    Convert from JSON to Python:

    import json

    # some JSON:
    x =  '{ "name":"John", "age":30, "city":"New York"}'

    # parse x:
    y = json.loads(x)

    # the result is a Python dictionary:
    print(y["age"])

    Try it Yourself »


    Convert from Python to JSON

    If you have a Python object, you can convert it into a JSON string by using the json.dumps() method.

    Example

    Convert from Python to JSON:

    import json

    # a Python object (dict):
    x = {
      "name": "John",
      "age": 30,
      "city": "New York"
    }

    # convert into JSON:
    y = json.dumps(x)

    # the result is a JSON string:
    print(y)

    Try it Yourself »



    You can convert Python objects of the following types, into JSON strings:

    • dict
    • list
    • tuple
    • string
    • int
    • float
    • True
    • False
    • None

    Example

    Convert Python objects into JSON strings, and print the values:

    import json

    print(json.dumps({"name": "John", "age": 30}))
    print(json.dumps(["apple", "bananas"]))
    print(json.dumps(("apple", "bananas")))
    print(json.dumps("hello"))
    print(json.dumps(42))
    print(json.dumps(31.76))
    print(json.dumps(True))
    print(json.dumps(False))
    print(json.dumps(None))

    Try it Yourself »


    When you convert from Python to JSON, Python objects are converted into the JSON (JavaScript) equivalent:

    PythonJSON
    dict Object
    list Array
    tuple Array
    str String
    int Number
    float Number
    True true
    False false
    None null

    Example

    Convert a Python object containing all the legal data types:

    import json

    x = {
      "name": "John",
      "age": 30,
      "married": True,
      "divorced": False,
      "children": ("Ann","Billy"),
      "pets": None,
      "cars": [
        {"model": "BMW 230", "mpg": 27.5},
        {"model": "Ford Edge", "mpg": 24.1}
      ]
    }

    print(json.dumps(x))

    Try it Yourself »


    Format the Result

    The example above prints a JSON string, but it is not very easy to read, with no indentations and line breaks.

    The json.dumps() method has parameters to make it easier to read the result:

    Example

    Use the indent parameter to define the numbers of indents:

    json.dumps(x, indent=4)

    Try it Yourself »

    You can also define the separators, default value is (", ", ": "), which means using a comma and a space to separate each object, and a colon and a space to separate keys from values:

    Example

    Use the separators parameter to change the default separator:

    json.dumps(x, indent=4, separators=(". ", " = "))

    Try it Yourself »


    Order the Result

    The json.dumps() method has parameters to order the keys in the result:

    Example

    Use the sort_keys parameter to specify if the result should be sorted or not:

    json.dumps(x, indent=4, sort_keys=True)

    Try it Yourself »



    How do I convert a JSON to a string in Python?

    Firstly, to convert any JSON format to string in the Python program, we need to import json module in the program. There are two ways of converting JSON to string in Python; one way is to use json method dumps(), and another way is to use an API such as requests module in Python.

    How do I convert a JSON to a string?

    Use the JavaScript function JSON. stringify() to convert it into a string. const myJSON = JSON. stringify(obj);

    How do you write JSON data into a text file in Python?

    Method 2: Writing JSON to a file in Python using json.dump() It takes 2 parameters: dictionary – the name of a dictionary which should be converted to a JSON object. file pointer – pointer of the file opened in write or append mode.

    How do I use JSON Stringify in Python?

    “python json stringify” Code Answer's.
    import json..
    x = '{ "name":"John", "age":30, "city":"New York"}'.
    y = json. loads(x).
    print(y["age"]).