python处理json相关方法

1、json.loads()

json.loads()函数的作用是将JSON字符串转换为Python对象,例如将JSON字符串解析为Python字典或列表,以便在后续数据分析中使用。在处理从API请求、文件读取或其他类似来源获取的JSON数据非常有用。

2、json.dumps()

json.dumps() 的作用是将 Python 对象转换为 JSON 格式的字符串,以便于在网络传输或存储到文件时使用。json.dumps() 函数将 Python 对象转换为 JSON 字符串的格式,并且可以控制输出的 JSON 字符串的格式,例如缩进、分隔符等。用法如下:

json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True,allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False)

```
json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False)
```

  • obj:要转换成 JSON 字符串的 Python 对象,可以是 dict、list、tuple 等。
  • skipkeys:如果设置为 True,则跳过字典中的非字符串键值对,否则会抛出 TypeError 异常。默认为 False。
  • ensure_ascii:如果设置为 True,则所有非 ASCII 字符都会被转义为 Unicode 转义序列,否则输出原字符。默认为 True。
  • check_circular:如果设置为 True,则检查对象中是否有循环引用,否则不检查。默认为 True。
  • allow_nan:如果设置为 False,则 json.dump() 会抛出 ValueError 异常,如果遇到 NaN、Infinity 或 -Infinity,否则可以输出这些特殊的浮点数值。默认为 True。
  • cls:用于自定义序列化器的类,默认为 None。
  • indent:输出格式的缩进空格数,可以是整数或字符串。如果是字符串,则该字符串将用于每一级别的缩进。默认为 None。
  • separators:用于指定分隔符的元组,默认为 (', ', ': ')。
  • default:用于自定义对象的序列化函数。如果指定了该参数,那么对于无法序列化的对象,会调用该函数进行序列化处理。
  • sort_keys:如果设置为 True,则按照键的排序顺序输出 JSON 字符串。默认为 False。
import json
 
data = [{'c': 'C', 'a': 'A', 'b': ["isPrivate", "memberNum", "姓名"]}]
 
print(json.dumps(data, sort_keys=True, indent=2, ensure_ascii=False))

python处理json相关方法_第1张图片

3、demjson.encode()

demjson库是用于编码和解码JSON数据的Python库。其中,encode函数是demjson库中用于将Python对象编码成JSON格式字符串的函数。

函数定义:demjson.encode(obj, nest_level=0)

函数参数:

  • obj:需要编码的Python对象,可以是list、tuple、dict或者其他Python对象。
  • nest_level:可选参数,表示序列化嵌套的最大级别。默认为0,表示不限制嵌套级别。
import demjson
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = demjson.encode(data)
print (json)

 注意:该函数不可解释中文字符!

import demjson
data = [{'c': 'C', 'a': 'A', 'b': ["isPrivate", "memberNum", "姓名"]}]
json = demjson.encode(data)
print (json)

你可能感兴趣的:(python,json,开发语言)