求教,这种序列化后的 json 字符串如何解析?

2018 年 7 月 10 日
 DXDE443
String jsonStr = "{\"name\":\"Jack\",\"age\":18}";

java 有没有类似于 js 的 JSON.parse 或者 eval 方法啊
4538 次点击
所在节点    Java
22 条回复
DXDE443
2018 年 7 月 10 日
发错了,是 String jsonStr = "\"{\"name\":\"Jack\",\"age\":18}\""
yukiww233
2018 年 7 月 10 日
new Gson().fromJson(String, Class<T>)
InternetExplorer
2018 年 7 月 10 日
秘籍●多重字符之术
=====================
其实把 jsonStr 左右的两个引号去掉就是标准的 JSON 字符串了
DXDE443
2018 年 7 月 10 日
还是不太对,应该是 String jsonStr = "\"{\\\"name\\\":\\\"Jack\\\",\\\"age\\\":18}\""
luozic
2018 年 7 月 10 日
gson 等 java 里面的 json 工具库了解一下
DXDE443
2018 年 7 月 10 日
不对不对,普通的解析我当然会,比如{"name" : 1},可我现在要解析的事"{\"name\" : 1}"这个样子的
pipixia
2018 年 7 月 10 日
replace 一下
DXDE443
2018 年 7 月 10 日
@DXDE443
@yukiww233
@InternetExplorer
@luozic
@pipixia 能帮忙重新看看 4 楼和 7 楼吗,我 1 楼说错了不知道怎么改
luozic
2018 年 7 月 10 日
反序列化再处理。
execute
2018 年 7 月 10 日
你可以试试用一下 com.alibaba.fastjson,我觉得挺好用的。有你正文里提到的 JSON.parse()方法
InternetExplorer
2018 年 7 月 10 日
这样话就不是 JSON,让给你 JSON 的给你一个标准的 JSON
DXDE443
2018 年 7 月 10 日
@InternetExplorer 我是调用客户系统的 webService,内容我做不了主啊
kba977
2018 年 7 月 10 日
fastjson 直接 parse 一下就好了
![]( https://i.loli.net/2018/07/10/5b4459faec204.png)
chocotan
2018 年 7 月 10 日
StringEscapeUtils.unescapeJson
然后去掉两头的"
DXDE443
2018 年 7 月 10 日
我说的这个用 js 的话 JSON.parse(eval(jsonStr))然后就解决了,我不知道用 java 怎么处理
kba977
2018 年 7 月 10 日
lululau
2018 年 7 月 10 日
SomeJSONParser.simeParseMethod(org.apache.commons.lang.StringEscapeUtils.unescapeJava(str))
DXDE443
2018 年 7 月 10 日
刚刚试了下,parse 一次还是字符串,parse2 次就好了,看来是我想多了,谢大佬
@kba977
feiyuanqiu
2018 年 7 月 10 日
反斜线是 escape character

- php 可以用 stripcslashes 函数处理
- java 可以用
-- apache 的 commons-lang3 库的 StringEscapeUtils.unescapeJson() 方法
-- 或者 commons-text 库的 StringEscapeUtils.unescapeJson() 方法处理
DXDE443
2018 年 7 月 10 日
刚刚想试 StringEscapeUtils 但本地只有 commons-lang3 的库,过时了,我强迫症不想用,又没有外网下不了 commons-text,不过还是谢各位老哥建议,老哥们说话又好听我超喜欢在这里面的

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

https://v2ex.ih06.com/t/469586

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

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

© 2021 V2EX