一个 dict 或者对象,已经序列化为 json 数据。 现在需要在序列化好的数据外层,加一个包装。
比如,已有 json 数据:
{
"name": "test"
}
加包装后的效果:
{
"data": {
"name": "test"
}
}
go 语言里有 json.RawMessage 可以做到这点
1
taotaodaddy 2023-08-03 18:12:32 +08:00
import json
serialized_data = '{"name": "test"}' data = json.loads(serialized_data) wrapped_data = {'data': data} final_serialized_data = json.dumps(wrapped_data) 嗯嗯,gpt 给的代码,没运行,看着没毛病 |
2
gosky OP @taotaodaddy 谢谢。有没有不 loads 的方案?
|
3
taotaodaddy 2023-08-03 18:24:38 +08:00
难道是:
data = '{"name": "test"}' wrapped_data_str = f'{{"data": {data}}}' 吗? |
4
joesonw 2023-08-03 18:24:39 +08:00 via iPhone
这不就是字符串拼接?
|
7
ForNickey 2023-08-03 19:01:59 +08:00
还是用 import json 格式化后再 return 真的一个单双引号能搞死你
|
8
est 2023-08-03 19:23:53 +08:00 1
print(json.dumps({'data': type('RawJson', (), {'__repr__': lambda o: '{"a}'})()}, cls=type('EC', (json.JSONEncoder,), {'encode': lambda self,o: str(o)})))
|
9
llwwbb7 2023-08-03 19:50:19 +08:00
都写 python 了还在乎 load 一下吗
|
10
ch2 2023-08-03 20:11:18 +08:00 1
都用 python 了还把最 easy 的 import json 扔了,纯粹买椟还珠
|
11
fionasit007 2023-08-04 16:56:23 +08:00
这种问题需要来这里问吗,所有语言的基操吧
|