如何在Python中把字符串转换为JSON

130 阅读2分钟

JSON 对象被用于许多网络 API 中,使用这些数据来提取有意义的信息;我们需要将这些数据转换为一个字典。Python提供了一个内置的json包,有各种方法来序列化反序列化JSON。

Python字符串到json

要在Python 字符串转换成json,可以使用**json.load()**函数。**json.load()**是一个内置的Python函数,它接受一个有效的json字符串并返回一个字典来访问所有元素。 json.load()函数用于将有效的 JSON 字符串 解析字典

为了使用 json.load() 方法,我们必须导入Python 提供的 json 包。将json数据转换为Python对象的过程被称为反序列化

# app.py

import json

json_string = '''
{
  "students": [
    {
      "name": "Millie Brown",
      "active": true,
      "rollno": 11
    },
    {
      "name": "Sadie Sink",
      "active": true,
      "rollno": 10
    }
  ]
}
'''
print(json_string)
print("The type of object is: ", type(json_string))
stud_obj = json.loads(json_string)
print(stud_obj)
print("The type of object is: ", type(stud_obj))
json_obj = json.dumps(stud_obj)
print(json_obj)
print("The type of object is: ", type(json_obj))

输出

{
  "students": [
    {
      "name": "Millie Brown",
      "active": true,
      "rollno": 11
    },
    {
      "name": "Sadie Sink",
      "active": true,
      "rollno": 10
    }
  ]
}

The type of object is:  <class 'str'>
{'students': [{'name': 'Millie Brown', 'active': True, 'rollno': 11}, 
              {'name': 'Sadie Sink', 'active': True, 'rollno': 10}]}
The type of object is:  <class 'dict'>
{"students": [{"name": "Millie Brown", "active": true, "rollno": 11}, 
              {"name": "Sadie Sink", "active": true, "rollno": 10}]}
The type of object is:  <class 'str'>

在这个例子中,我们首先使用**json.load()方法将json字符串转换为Python字典对象,然后使用json.dumps()**方法将字典转换为字符串。

从JSON到Python对象的数据转换

  1. 对象 =>dict
  2. 数组 =>列表
  3. string =>str
  4. 数字 (int) => int
  5. number (real) => float
  6. true => True
  7. false => False
  8. null =>None

json.load()和json.load()的区别

json.load**()json.load()函数的主要** 区别是json.load()函数用于从文件中读取JSON文档,而**json.load()**函数用于将JSON字符串文档转换成Python字典。

json.load()函数可以自己反序列化一个文件。json.load()函数反序列化一个字符串。

结论

要在Python中把字符串转换成JSON数据,可以使用内置json包中的json.load()方法。