Tôi có chuỗi sau:Parse chỉ có một mức độ json
'{
"key1": "val1",
"key2": ["a","b", 3],
"key3": {"foo": 27, "bar": [1, 2, 3]}
}'
Tôi muốn phân tích chỉ trên mức nên kết quả phải là một từ điển một cấp với chìa khóa, và giá trị nên chỉ là một chuỗi (don' t cần phải phân tích nó)
Đối với chuỗi cho nó nên cho tôi sau từ điển:
{
"key1": "val1",
"key2": "['a','b', 3]",
"key3": "{'foo': 27, 'bar': [1, 2, 3]}"
}
có một cách nhanh chóng để làm điều đó? Không phân tích cú pháp toàn bộ chuỗi thành json và chuyển đổi tất cả các giá trị trở lại thành chuỗi.
bạn đã phải phân tích chuỗi toàn bộ json, và lấy những phần chuỗi .. nó doable, nhưng tôi nghi ngờ nó có giá trị nỗ lực . Hiệu suất có thực sự quan trọng không? –
có nó phải là một phần của mã quan trọng hiệu suất –
Ngoài ra nếu tôi trực tiếp chuyển đổi từng giá trị thành str, tôi sẽ nhận được tiền tố u khó chịu cho các chuỗi: 'foo = json.loads ('{" key1 ":" val1 "," key2 " : ["a", "b", 3], "key3": {"foo": 27, "bar": [1, 2, 3]}} ') ' ' dict ([(k, str (v)) cho k, v trong foo.iteritems()]) ' sẽ cho tôi: ' {u'key1 ':' val1 ', u'key2': "[u'a ', u'b' , 3] ", u'key3 ':" {u'foo': 27, u'bar ': [1, 2, 3]} "' –