JSON

JSON操作技巧

字号+ 作者:H5之家 来源:H5之家 2015-09-10 12:10 我要评论( )

最近两个星期接触最多的就是json和map了。 之前用到的json,就是一个键对应一个值,超级简单的一对一关系。现在用到的json那可以层层嵌套啊,刚开始接触的时候,确实有种崩溃的赶脚,不想去理,取个数据还那么麻烦。其实,就跟if else语句一样,如果if中套if

   最近两个星期接触最多的就是json和map了。

   之前用到的json,就是一个键对应一个值,超级简单的一对一关系。现在用到的json那可以层层嵌套啊,刚开始接触的时候,确实有种崩溃的赶脚,不想去理,取个数据还那么麻烦。其实,就跟if else语句一样,如果if中套if,if中再套if,写的规范了还行,要是代码格式不规范,那我们肯定也看着麻烦。所以啊,对于json嵌套,只要记住符号“:”前是键,符号后是值大括号成对找,一层层剥开,就清楚了。 举个例子说明,如下:


      从外到里看,例子中就是一个数组,数组里面是两个json格式的字符串。这样分析思路就清晰多了。

    工作中需要取出name4的值,你们会怎么取呢?。最初我都想过字符串截取,那时还不了解JSONArray,现在知道了,取出来也就相当容易了。

 

    取出name4值过程步骤:1,将以上字符串转换为JSONArray对象;2,取出对象的第一项,JSONObject对象;3,取出name1的值JSONObject对象;4,取出name2的值JSONObject对象;5,取出name4的值value2。

    示例中json数组格式的字符串可以通过方法直接转换为JSONArray的格式:JSONArray.fromObject(String)

 

[java] 

 


 

 

   好了我们说说这两个对象。

1,JSONObject

 json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}

2,JSONArray

  json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的

 

  Json对象中添加的是键值对,JSONArray中添加的是Json对象

 

[java] 

 


 

3,JSONObject与Map

   Map map和json都是键值对,不同的是map中键值对中间用等号分开,json中键值对中间用冒号分开。其实json就是一种特殊形式的map。

 

[java] 

 

  • Map<String,String> strmap=new JSONObject();  
  •  

      这里的需求是:request对象获取的map,想要返回json格式也不用白费力了。。。。哈哈。。

     

    另外:json字符串value值替换,例如:

    json=[{"NAME":"张三","age":"18","sex":"男","STATUS":1},{"NAME":"李四","age":"17","sex":"男","STATUS":2}],替换其中的值status。
    判断age大于18,则status为成年人,小于18为未成年人。
    替换结果
    [{"NAME":"张三","age":"18","sex":"男","STATUS":"成年人"},{"NAME":"李四","age":"17","sex":"男","STATUS":"未成年人"}]

    可将其转换成JSONObject对象,当Map对象操作get("age")大于18则set STATUS为成年人。记得导入json.jar包
    code:
    JSONArray arr = JSONArray.formObject(json);
    for(int i = 0;i<arr.size();i++){

    JSONObject obj = JSONObject.fromObject(arr.get(i).toString());
    if((Integer)obj.get("age")>=18){
    obj.put("STATUS","2");

    }else{
    obj.set("STATUS","1");
    }
    System.out.println(obj.toString());
    }

     

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • php CI 实战教程:[5]用curl获取json并解析

      php CI 实战教程:[5]用curl获取json并解析

      2016-02-26 17:00

    •  JSON入门级学习总结-JSON数据结构

      JSON入门级学习总结-JSON数据结构

      2016-02-25 11:05

    • Android解析Json速度最快的库:json

      Android解析Json速度最快的库:json

      2016-02-13 18:00

    • 浅谈使用PHP开发微信支付的流程

      浅谈使用PHP开发微信支付的流程

      2016-02-13 15:00

    网友点评