Json使用

来源:互联网 发布:php 工厂模式 实例 编辑:程序博客网 时间:2024/04/30 17:27


JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:

  • “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
  • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

详见http://www.json.org/json-zh.html


import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;public class Test {public static void main(String [] strings){    String str = "{"+      "\"日期\" : \"2011-06-06\","+  //Like 是 JSONObject  "\"Like\" : {"+    "\"Name\" : \"加内特\","+    "\"Height\" : \"2.11cm\","+     "\"Age\" : 35"+  "},"+  //LikeList 就是一个 JSONObject  "\"LikeList\":" +  "{\"List\": " +  "["+    //这里也是JSONObject  "{"+    "\"Name\" : \"Rose\","+    "\"Height\" : \"190cm\","+     "\"Age\" : 23"+  "},"+  //这里也是JSONObject  "{"+    "\"Name\" : \"科比\","+    "\"Height\" : \"198cm\","+     "\"Age\" : 33"+  "}"+  "]"+      "}"+      "}";    System.out.println(str);    try {JSONObject dataJson = new JSONObject(str);System.out.println( dataJson.getString("日期"));JSONObject nbaJson = dataJson.getJSONObject("Like");  System.out.println(nbaJson.getString("Name")+nbaJson.getString("Height")+nbaJson.get("Age").toString());JSONObject listJson = dataJson.getJSONObject("LikeList");JSONArray arrayJson = listJson.getJSONArray("List");for(int i=0;i<arrayJson.length();i++) {JSONObject tempJson = arrayJson.optJSONObject(i);System.out.println(tempJson.getString("Name")+ tempJson.getString("Height")+tempJson.getString("Age").toString());}} catch (JSONException e) {System.out.println("Something wrong...");e.printStackTrace();}    }}
上面要解析的字符串
{"日期" : "2011-06-06",
   "Like" : {"Name" : "加内特","Height" : "2.11cm","Age" : 35},
    "LikeList":{"List": [{"Name" : "Rose","Height" : "190cm","Age" : 23},{"Name" : "科比","Height" : "198cm","Age" : 33}]}}

原创粉丝点击