如果字符串是有效的 json,则 Python 脚本示例返回布尔值:
import json
def is_json(myjson):
try:
json.loads(myjson)
except ValueError as e:
return False
return True
哪些打印:
print is_json("{}") #prints True
print is_json("{asdf}") #prints False
print is_json('{ "age":100}') #prints True
print is_json("{'age':100 }") #prints False
print is_json("{\"age\":100 }") #prints True
print is_json('{"age":100 }') #prints True
print is_json('{"foo":[5,6.8],"foo":"bar"}') #prints True
将 JSON 字符串转换为 Python 字典:
import json
mydict = json.loads('{"foo":"bar"}')
print(mydict['foo']) #prints bar
mylist = json.loads("[5,6,7]")
print(mylist)
[5, 6, 7]
将 python 对象转换为 JSON 字符串:
foo = {}
foo['gummy'] = 'bear'
print(json.dumps(foo)) #prints {"gummy": "bear"}
如果您想访问低级解析,请不要自行开发,请使用现有库:http://www.json.org/
python JSON 模块的精彩教程:https://pymotw.com/2/json/
是字符串 JSON 并显示语法错误和错误消息:
sudo cpan JSON::XS
echo '{"foo":[5,6.8],"foo":"bar" bar}' > myjson.json
json_xs -t none < myjson.json
打印:
, or } expected while parsing object/hash, at character offset 28 (before "bar}
at /usr/local/bin/json_xs line 183, <STDIN> line 1.
json_xs 具有语法检查、解析、prittifying、编码、解码等功能:
https://metacpan.org/pod/json_xs