1. 字符串转为JSON

源代码:

import json

str = '''
[{
    "name": "Tom",
    "gender": "male"
}, {
    "name": "Jack",
    "gender": "male"   
}]
'''
#将字符串转为json格式
print(type(str))
data = json.loads(str)
print(type(data))
print(data)

运行结果:

<class 'str'>
<class 'list'>
[{'name': 'Tom', 'gender': 'male'}, {'name': 'Jack', 'gender': 'male'}]

2. JSON转为字符串

源代码:

import json

data = [{
    "name": "Tom",
    "gender": "male"
}, {
    "name": "杰克",
    "gender": "男"   
}]

#将json格式转为字符串
print(type(data))
str = json.dumps(data, indent=2) #indent=2按照缩进格式
print(type(str))
print(str)

#保存到json格式文件
with open('data.json', 'w', encoding='utf-8') as file:
    file.write(json.dumps(data, indent=2, ensure_ascii=False)) #ensure_ascii=False可以消除json包含中文的乱码问题

运行结果:

没有添加ensure_ascii=False将导致乱码.

<class 'list'>
<class 'str'>
[
  {
    "name": "Tom",
    "gender": "male"
  },
  {
    "name": "\u6770\u514b",
    "gender": "\u7537"
  }
]

data.json文件内容:

添加ensure_ascii=False

[
  {
    "name": "Tom",
    "gender": "male"
  },
  {
    "name": "杰克",
    "gender": "男"
  }
]
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐