python中使用json的解析和转换非常简单,只要导入json
包即可。
其中的两个主要方式是dumps和loads.具体介绍如下:
方法 | 作用 |
---|---|
dumps | 将对象转换为json字符串 |
loads | 将json字符串转换为对象 |
用法如下:
import json
class Node:
'node类'
def __init__(self, question, answer,sim):
self.question = question
self.answer = answer
self.sim=sim
#用来将得到的object转换为具体的类实例
def fromjson(obj):
return Node(obj['question'],obj['answer'],obj['sim'])
#定一个node实例
node=Node('q','a',1)
#定义一个json字符串
data=[{'q':'qq','a':'aa','sim':1}]
#将node转换为json字符串
jstring=json.dumps(node.__dict__)
print(jstring)
#再将得到的字符串转换为node实例
obj=json.loads(jstring)
node=fromjson(obj)
print(type(node))
值得注意的是json中类型的转换对应关系。
其中python中类型对应json中的类型对应关系如下:
Python | JSON |
---|---|
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
json中类型对应python中的类型对应关系如下:
JSON | Python |
---|---|
object | dict |
array | list |
string | unicode |
number (int) | int, long |
number (real) | float |
true | True |
false | False |
null | None |