求教 json 解析

2014-09-04 16:14:52 +08:00
 cxl008
droidbox 里面 一段
{ "CryptoUsage": { "operation": "encryption", "algorithm": "AES/CBC/PKCS5Padding", "data": "{"model":"Full Android on Emulator","location":"","nettype":"3","manufacturer":"unknown","imei":"115732340242753","activetime":"1409818147","basebandversion":"no message","kernelversion":"2.6.29-gc497e41\nkroot@kennyroot #2\nThu Dec 8 15:07:43 PST 2011","osversion":"4.1.1","operator":"310260000000000","ip":"fe80::5054:ff:fe12:3456%eth0","pix":"320*480","deviceid":"0761AE5246580A7087A39BA0BA48BAA0"}" } }


因为 data 后面 多了一对 引号 json.loads except 了。。。。有什么办法处理正确啊?
3752 次点击
所在节点    Python
16 条回复
keithellis
2014-09-04 16:28:46 +08:00
先格式化一遍 JSON 字符串。。。
clino
2014-09-04 16:40:43 +08:00
这个就是错的吧,如果在json字符串中要有"那应该加转义符\吧?
allenm
2014-09-04 16:45:05 +08:00
这个 JSON 字符串本身就是错的。应该从源头着手,用 JSON 标准库来做序列化,尽力不要手工拼接,除非你非常了解 JSON 的规范,并且知道你在干什么。
no13bus
2014-09-04 16:47:35 +08:00
试试demjson
cxl008
2014-09-04 16:53:24 +08:00
@allenm 源头是没办法改了。得到就是这样的串。。。。
cxl008
2014-09-04 16:53:45 +08:00
@keithellis 恕我愚钝,如何操作?
cxl008
2014-09-04 16:57:54 +08:00
@no13bus 还是不好使
keithellis
2014-09-04 16:59:05 +08:00
JSONRaw.replace('"data": "', '"data": ')
JSONRaw.replace('"}" } }', '"} } }')
cxl008
2014-09-04 17:09:08 +08:00
@keithellis 是个办法啊。。。。。
wwlweihai
2014-09-04 17:11:21 +08:00
百度下 json格式化,然后你就能看到结构,一看就明白
cxl008
2014-09-04 17:14:55 +08:00
@wwlweihai 这回答。。。需要关小黑屋啊。。。。。问题里面都说了 这个串错误的原因,不是不了解json结构,是问怎么好的处理方式。 百度是万能的就不来v2了。。。。
wwlweihai
2014-09-04 17:39:09 +08:00
不好意思,解决不了。json,我没有仔细看过json串,
dong3580
2014-09-04 17:42:08 +08:00
这个明显是json格式有问题的嘛,先把获取到的json个转换成正常的才行啊,
binux
2014-09-04 17:48:04 +08:00
如果你用错误的方式用 JSON,人家都不知道你要表达什么,怎么给你解?
lldld
2014-09-05 10:01:16 +08:00
你都知道是多了一对引号了,还不能处理么?
happywowwow
2014-09-05 10:05:17 +08:00
怎么能容忍这串错误json的传给你

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/131727

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX