{"retCode":"000000","result":"<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="Cache-Control" content="no-Cache" /><meta name="viewport" content="width=device-width;" /><meta name="format-detection" content="telephone=no" /><title>哈哈</title></head><body>嘿嘿</body></html>"}
这是我在后台通过变量接收调用接口方法之后返回的数据,我想解析出上面json中的result然后通过response.write展示页面出来。不过我现在解析不了。求大神帮助。
后台解析有很多的Json库啊。FastJson、LitJson、Newtonsoft.Json,随便一个都可以。发现你的字符串不是标准的Json格式,你是因为这个解析不出来吗?
应该是
@清月生: 能给我贴点代码么???我接触json太少
@清月生: 那你可以先处理字符串,修改为标准的Json。
看了你的字符串特点,两次替换之后,就标准了。Replace("=\"","=\\\"").Replace("\" ","\\\" ");
@清月生: http://www.cnblogs.com/xiaopohou/articles/3418765.html 这玩意网上太多了,代码也不多。随便看看就行。
@幻天芒: 我试试看现。开始睡觉了。谢谢你哈
@幻天芒: 不行。在www.bejson.com里面检测还不是标准的格式。感觉
@清月生: 你没Replace吧,将双引号转码后,已经是标准的json格式。Replace要接收返回值才会有效。
@幻天芒: Parse error on line 3: ...000", "result": "<!DOCTYPE HTML><htm ----------------------^ Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['还是这个错误。您能把QQ告诉我么。我想让你帮我看看,或者您测试下吧。把上面代码解析在检测一次。。
@清月生: 我Replace后,在Chrome上测试通过的。My Q:one zero two eight double three double two seven three.
你试下,将字符串里面的字符串“”之类前加上转义字符试下
先把你的json格式修改为标准的吧,这样你能解析出来吗?
如何变成标准的
@清月生:
看看这个json提醒,希望你能想起点什么
@妍珊: 我看了这里我不知道是不是把双引号去掉就行。。真不知道如何处理。求给个经验。
@清月生: 我觉得你的json最起码得符合键值对的格式吧?另外可以对你的result再进一步的格式转换,试试,http://docs.python.org/2/library/json.html希望对你有所帮助吧
@妍珊: 我也知道了。。但是调用接口返回的数据。。有什么办法呢。。
@清月生: 那你就让接口再做一次处理,或者进行两次替换Replace("=\"","=\\\"").Replace("\" ","\\\" ");试试
@妍珊: 接口改动不可能。。。国企那帮人弄得。替换了。还是没有作用。
亲,您这个是字符串是Json的标准格式么?你自己利用Json转换工具看看http://json.parser.online.fr/。到处报错。
首先你得保证你的字符串是标准的json格式。然后才能转换成对象在页面中调用
你的json里面html所有的双引号应该换成单引号才正确:
{
"retCode":"000000",
"result":"<!DOCTYPE HTML><html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><meta http-equiv='Cache-Control' content='no-Cache' /><meta name='viewport' content='width=device-width;' /><meta name='format-detection' content='telephone=no' /><title>哈哈</title></head><body>嘿嘿</body></html>"
}
接口给的数据。。不太可能修改。
没有办法。只能用substring