我有一个转义的 json 字符串,比如我可以在这个站点上取消它,它会产生有效的 json:{ "uid": "93", "channel_origin": "", "sys_ver": "12.2", "carrier_network_code": "02", "rpn": "首页", "app_ver": "9.3.8", "event_time": 1556119062, "carrier": "中国移动", "event_guid": "E36FE60BFBFF405680906E3F95EC3953", "ppn": "启动", "device_token": "d323828f196a3ca665fa296a2a5f23a57cce83963328b73bd2cf78a7d55575ef", "day_first": "442", "abtest": "{\"app_home_change\":\"b\",\"app_icon_change\":\"b\"}", "pn": "首页", "puri": "http://app.mafengwo.cn/launch", "day_before": "1", "hardware_model": "iPhone10,3", "lng": "114.427362", "launch_guid": "69904D0912C943AC9D924AC8469CEA4E", "app_code": "cn.mafengwo.www", "_launch_source_history": "[]", "idfv": "20587F0C-0F6E-4CD2-94C3-CE3A10CF0EFD", "open_udid": "72F69B19-E612-4A4B-9D2F-8BB6C890421B", "carrier_country_code": "cn", "dev_ver": "D1908.0", "device_type": "ios", "ref": "http://app.mafengwo.cn/index?banner=1&channel_id=55&theme=1", "lat": "27.818787", "event_code": "show_index", "idfa": "DC7D35C1-C81B-4884-96C5-C6BAE83FA7DA", "uri": "http://app.mafengwo.cn/index?banner=1&channel_id=55&theme=1", "channel_code": "", "net": "1", "_is_foreground": "1", "sdk_ver": "20161011", "_event_hash": "8ae3b940026375b8252e689113fc8c43f5bfddcf", "ip": "39.176.24.64", "umddid": 14696, "topic": "mobile_event", "ctime": 1556119062, "ip_s": "node001026", "datetime": "2019-04-24T23:17:42+08:00", "uuid": "5c5ae87c-3b8b-2786-45b8-b16b969f8e7a", "hour": "23", "dt": "20190424", "minute": "17", "user_agent": "Safari Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 mfwappcode/cn.mafengwo.www mfwappver/9.3.8 mfwappdevver/D1908.0 mfwjssdk/1.1 mfwappjsapi/1.7", "mfw_env": "product", "attr": { "_tpt": "信息流", "prm_id": "", "_tpa": "启动_首页", "item_name": "机票火车票", "item_source": "", }}但是我怎么能在Java中做到这一点?我尝试过StringEscapeUtils.unescapeJavaapache commons,但它产生了类似的东西:其中更改\\\"为",而不是正确的\"。
1 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
假设你确实有那个字符串,它看起来像是有人对它进行了双重编码(也就是说,将一个结构序列化为 JSON,然后再次将该字符串序列化为 JSON)。如果是这样,您应该能够将其解析为 JSON 并返回一个字符串——然后您可以将其解析为 JSON 以获取结构。
我没有使用杰克逊,但类似:
ObjectMapper objectMapper = new ObjectMapper();
String unwrappedJSON = objectMapper.readValue(json, String.class);
YourClass result = objectMapper.readValue(unwrappedJSON, YourClass.class);
添加回答
举报
0/150
提交
取消