zoukankan      html  css  js  c++  java
  • 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].age
    
    eval()函数用于解析json数据,你可以百度查一下具体用法。。。。
  • 相关阅读:
    【推荐】iOS汉字转拼音第三方库
    iOS实现图像素描效果
    iOS实现图像的反色,怀旧,色彩直方图效果
    iOS实现图像指定区域模糊
    iOS 9.2新增API
    讲讲我的开发生涯
    iOS第三方类库汇总【持续更新】
    美图秀秀-美化图片之【背景虚化】界面设计
    美图秀秀-美化图片之【特效】界面设计
    iOS二十种超酷时尚艺术滤镜汇总【附源码】
  • 原文地址:https://www.cnblogs.com/seniortestingdev/p/2522668.html
Copyright © 2011-2022 走看看