Python原始json字符串序列化
我有一个python字典,其中有一个字符串变量,如下所示(当然,json中还有许多其他字符串字段,但只有少数是json转义字符串) 如何将此类对象转换为普通json,如下所示:Python原始json字符串序列化,python,json,serialization,Python,Json,Serialization,我有一个python字典,其中有一个字符串变量,如下所示(当然,json中还有许多其他字符串字段,但只有少数是json转义字符串) 如何将此类对象转换为普通json,如下所示: { details : { name : "Vyshakh", martial_status : "Single" } } 在使用Jackson的Java中,我可以使用@JsonRawValue注释字段,在Python中实现相同的的最佳方法是什么?标准库中的json模块为此提供了
{
details : {
name : "Vyshakh",
martial_status : "Single"
}
}
在使用Jackson的Java中,我可以使用@JsonRawValue注释字段,在Python中实现相同的的最佳方法是什么?标准库中的
json
模块为此提供了json.loads()
将JSON兼容字符串传递给JSON.loads()
,它将返回一个dictionary对象
从Python解释器:
>>> import json
>>> help(json.loads)
Help on function loads in module json:
loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
Deserialize ``s`` (a ``str`` instance containing a JSON
document) to a Python object.
重写编码器以返回原始json字符串
导入json
类RawJSON(str):传递
origEnc=json.encoder.encode\u basestring\u ascii
def rawEnc(obj):
如果isinstance(obj,RawJSON):
返回obj
返回原点(obj)
json.encoder.encode_basestring_ascii=rawEnc
obj_dict=dict(details=RawJSON(“{\'name\':\'Vyshakh\',\'mary\'u status\':\'Single\'”))
打印json.dumps(obj_dict){“详细信息”:{“名称”:“Vyshakh”,“军事状态”:“单一”}
我知道我可以使用json.loads(),但是我需要解析整个字符串并用它创建字典。但在现实中,数据对于资源所有者没有任何用处,只有对于外部系统,这些数据才是相关的。我担心为什么我应该将这个字符串转换成另一个dictionary对象,而这个对象的大小非常大,可以达到128KB的字符串数据。有一种方法,当序列化,只是把它看作是原始的JSON格式字符串。这就是@JsonRawValue在Java(Jackson)中所做的……在python中寻找任何类似的替代方案
>>> import json
>>> help(json.loads)
Help on function loads in module json:
loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
Deserialize ``s`` (a ``str`` instance containing a JSON
document) to a Python object.