我只是想按顺序保留以下输入和生成的JSON字符串。
这是输入字符串和代码:
import json
testlist=[]
# we create a list as a tuple so the dictionary order stays correct
testlist=[({"header":{"stream":2,"function":3,"reply":True},"body": [({"format": "A", "value":"This is some text"})]})]
print 'py data string: '
print testlist
data_string = json.dumps(testlist)
print 'json string: '
print data_string
这是输出字符串:
json string:
[{"body": [{"format": "A", "value": "This is some text"}], "header": {"stream": 2, "function": 3, "reply": true}}]
我试图保持输出的顺序与输入相同。
任何帮助都会很棒。我似乎无法想到这一点。
答案 0 :(得分:0)
正如洛朗写道,你的问题不是很清楚,但我试一试:
OrderedDict.update
在上面的案例中添加了databody
到词典的条目。
您似乎想要做的是data['body'] = databody
,其中databody
就是这个列表
[{"format":"A","value":"This is a text\nthat I am sending\n to a file"},{"format":"U6","value":5},{"format":"Boolean","value":true}, "format":"F4", "value":8.10}]
所以首先构建这个列表结尾,然后将它添加到你的字典中,加上你在帖子中写的是要解析为json的最终变量是一个列表,所以做data_string = json.dumps([data])