• JSON,JSONObject和JSONArray总结


     一 JSON

       JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。这篇文章主要从以下几个方面来说明JSON。

    JSON有两种表示结构,对象和数组。
    对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。其中key是字符串,而value可以是字符串,数值,true,false,null,对象或数组

    {

        key1:value1,
        key2:value2,
        ...
    }
    数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。

    [

      {

        key1:value1,

        key2:value2

      },
      {
        key3:value3,
        key4:value4  
      }
    ]
    json对象和json字符串 有待研究

    二 数据表现形式(JSONObject,JSONArray)

    JSONObject的数据是用 {  } 来表示的,

           例如:   { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null  }  

    而JSONArray,顾名思义是由JSONObject构成的数组,用  [ { } , { } , ......  , { } ]  来表示

           例如:   [ {  "id" : "123", "courseID" : "huangt-test", "title" : "提交作业" }  ,  {  "content" : null, "beginTime" : 1398873600000  "endTime" } ] ;表示了包含2个JSONObject的JSONArray。

    可以看到一个很明显的区别,一个用的是 {  }  ,一个最外面用的是 [  ]  ;

    三、如何从字符串String获得JSONObject对象和JSONArray对象

      JSONObject  jsonObject  = new JSONObject ( String  str);

      JSONArray jsonArray = new JSONArray(String str ) ;

    四、如何从JSONArray中获得JSONObject对象

           大家可以把JSONArray当成一般的数组来对待,只是获取的数据内数据的方法不一样

       JSONArray jsonArray = (JSONArray) jsonObject.get("content");
      for (int i = 0; i < jsonArray.size(); i++) {
         //第一种
        JSONObject jsonObject = (JSONObject)jsonArray.get(i);
         String status = String.valueOf(jsonObject1.get("status"));
         //第二种
    JSONObject jsonObject = jsonArray.getJSONObject(i) ;
         String status = String.valueOf(jsonObject1.get("status"));
        }
    两者都可。第一种注意转换 



  • 相关阅读:
    ASP.NET MVC 5
    Web Components是不是Web的未来
    如何选择高性价比的控件产品
    ASP.NET MVC 5
    ubuntu系统安装
    Ubuntu linux安装完成后隐藏linux磁盘挂载点
    win10 查看本机的激活秘钥
    windows cmd下列出当前目录下的所有文件
    error LNK2005: “找到一个或多个多重定义的符号” 已经在 xxxx.obj 中定义 的解决方法
    架构设计:负载均衡层设计方案(3)——Nginx进阶
  • 原文地址:https://www.cnblogs.com/shenhaha520/p/12525439.html
Copyright © 2020-2023  润新知