一个 json 字符串的 value 内部含有双引号怎么处理=。=

2016-09-19 14:47:15 +08:00
 Chyroc

如题。

15274 次点击
所在节点    Python
35 条回复
s0f
2016-09-19 14:51:01 +08:00
字符串转义啊 '{"a":"\"123"}'
Chyroc
2016-09-19 14:54:28 +08:00
@s0f show me code,一转所有双引号都变\"了,我只需要 value 内部的双引号转义
skydiver
2016-09-19 14:56:53 +08:00
解码库会自动帮你做转义和反转义,不需要自己处理
Chyroc
2016-09-19 14:58:56 +08:00
@skydiver 这句话,{"title":"this is title "hello" ."},你试试
Chyroc
2016-09-19 14:59:13 +08:00
语言: python
skydiver
2016-09-19 14:59:39 +08:00
@Chyroc 你这不是合法的 json
gdtv
2016-09-19 15:00:58 +08:00
php 果然是世界上最好的语言,自带的 json_decode 和 json_encode 函数会自动处理这些问题,完全不用担心
Chyroc
2016-09-19 15:00:58 +08:00
@skydiver 合法我还需要在这问啊。。。。
Chyroc
2016-09-19 15:01:30 +08:00
@gdtv 233333 ,快做个接口给我, hhh
skydiver
2016-09-19 15:01:53 +08:00
@Chyroc 不合法的谁也帮不了你啊
skydiver
2016-09-19 15:02:17 +08:00
@gdtv 不合法的 json 字符串,什么语言都处理不了
bazingaterry
2016-09-19 15:02:23 +08:00
我帮题主重新描述一下问题:一个忘记转义的 JSON 字符串怎么修复?
Chyroc
2016-09-19 15:03:57 +08:00
@skydiver 写正则慢慢做,肯定可以。
不过我相信大 py 有轮子
lgh06
2016-09-19 15:05:19 +08:00
JS 路过 外面用单引号
var tmp = JSON.stringify('{"title":"this is title "hello" ."}');
var res = JSON.parse(tmp);
JSON.stringify(res)
Chyroc
2016-09-19 15:08:21 +08:00
@lgh06 =。=已经预料到 js 可以处理
lgh06
2016-09-19 15:08:53 +08:00
import json
json.dumps('{"title":"this is title "hello" ."}')
czheo
2016-09-19 15:09:57 +08:00
@Chyroc 他这样算处理了?
lgh06
2016-09-19 15:11:36 +08:00
好吧 好像并不行……
gdtv
2016-09-19 15:12:55 +08:00
{"title":"this is title "hello" ."} 这个不是 json 字符串,所以楼主的问题应该改成“任意一个字符串怎么格式化成标准的 json 格式?”
klgd
2016-09-19 15:16:20 +08:00
不合法这个问题应该从根源解决,让数据产生者发送合法的 json 数据,我觉得这是解决问题的正确途径

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

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

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

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

© 2021 V2EX