Home > Backend Development > Python Tutorial > How to Convert JSON Data to String Objects in Python 2?

How to Convert JSON Data to String Objects in Python 2?

Linda Hamilton
Release: 2024-11-02 06:38:29
Original
414 people have browsed it

How to Convert JSON Data to String Objects in Python 2?

How to Get String Objects from JSON in Python 2

Accessing JSON data using Python can yield Unicode objects despite ASCII-encoded text sources. Certain libraries demand string objects, causing compatibility issues.

To resolve this in Python 2, consider using PyYAML as an alternative JSON parser:

<code class="python">import yaml

json_str = '["a", "b"]'
data = yaml.safe_load(json_str)</code>
Copy after login

Results:

['a', 'b']  # String objects
Copy after login

Notes:

  • PyYAML returns string objects for ASCII-encoded data, but Unicode objects for Unicode-encoded data.
  • Use yaml.safe_load() for JSON files.
  • For more support with YAML 1.2 and low number parsing, use Ruamel YAML.

Conversion:

If you can't guarantee ASCII values, use a conversion function to ensure string objects:

<code class="python">def to_str(obj):
    if isinstance(obj, unicode):
        return str(obj)
    elif isinstance(obj, list):
        return [to_str(item) for item in obj]
    elif isinstance(obj, dict):
        return {to_str(key): to_str(value) for key, value in obj.items()}
    else:
        return obj

data = json.loads(json_str, object_hook=to_str)</code>
Copy after login

The above is the detailed content of How to Convert JSON Data to String Objects in Python 2?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template