struts2操作json成字符串格式错误被转义及其前台访问json对象的方法
這個問題確實糾結了我幾天,是在是煩。網上也是參考了好幾位大師的說法。都是不了了之。
這里記下這個問題,以備以后的參考。
我在struts2后臺返回的是這樣的json字符串:
"[{\"b\":\"best\",\"a\":\"judd\"}]"
里面是被轉義的,這樣的轉義是沒有什么意義的,因為這樣轉換的其實不是json字符串。他是不符合json字符串的。
標準的json字符串的樣式,我這里就不多寫了。大家相信也知道的。
所以以上的轉義也是無效的,不要糾結。上面的轉義成的字符串也是正確的。
關鍵的是,我們在struts2中如果需要返回一個json的字符串,我想到了1個的操作手法》
1,使用jsonobject.fromobject(obj),這里的obj只能是map類型或者是bean類型的。
所以如果需要返回一個你需要的json 的字符串,需要寫一個bean,里面放入你需要返回的字符串對象,可以是list類型的,當然。
或者是自己做一個map即可。
其他的方法現在還沒有想到。其他的方法詳細產生的也不是標準的json格式的字符串。后面也無法使用的。
?
jsonarray.fromobject(obj).tostring,這個類主要用于轉換的是list類型的。但是轉換后的json字符串同樣也是不可以使用的,因為不標準吧。
**********************************************
前臺訪問json對象的方法:
在服務器那邊,返回一個JSON格式的字符串,如—— a、"{\"name\":\"dd\",\"age\":\"12\"}"; b、"[{\"name\":\"dd\",\"age\":\"12\"},{\"name\":\"kk\",\"age\":\"20\"}]";var message = eval('(' + 返回的json格式參數+ ')'); 如果你的JSON格式是如上面a那種,那可以這樣獲取數據—— message.name、message.age如果是b那種,可以這樣—— message[0].name、message[1].ageeval()函數用于解析json數據,你可以百度查一下具體用法。。。。本文轉自hcy's workbench博客園博客,原文鏈接:http://www.cnblogs.com/alterhu/archive/2012/05/28/2522668.html,如需轉載請自行聯系原作者。
總結
以上是生活随笔為你收集整理的struts2操作json成字符串格式错误被转义及其前台访问json对象的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络视频监控系统解决方案概述
- 下一篇: GM11灰色模型