转自:
JSON简介:
JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率
下文笔者讲述解析json对象的方法分享,如下所示:
实现思路:
使用org.json包即可beans,collections,maps,java arrays,XML和JSON互相转换
org.json包中主要提供JSONObject和JSONArray类
----------------------------------------------------------------------------
org.json包下载地址:
https://github.com/douglascrockford/JSON-java
org.json包对象简介说明
JSONObject是一个无序的键/值对集合 它的表现形式是一个包裹在花括号的字符串,键和值之间使用冒号隔开,键值和键值之间使用逗号隔开 内在形式是一个使用get()和opt()方法通过键来访问值,和使用put()方法通过键来添加或者替代值的对象 值可以是任何这些类型:Boolean,JSONArray,JSONObject,Number和String,或者JOSONObject.NULL对象
例:
public static void jsonObjectTest() { JSONObject jsonobj = new JSONObject("{'name':'xiaoxiao','age'88}"); String name = jsonobj.getString("name"); int age = jsonobj.getInt("age"); System.out.println("name = " + name + ",age = " + age); } private static String prepareJSONObject() { JSONObject studentJSONObject = new JSONObject(); try { studentJSONObject.put("name", "xiaoxiao"); studentJSONObject.put("id", 90900); studentJSONObject.put("age", "890"); } catch(JSONException e) { e.printStackTrace(); } return studentJSONObject.toString(); }
例:
JSONArray
public static void jsonArrayTest() { JSONArray jsonarray = new JSONArray("[{'name':'xiaoxiao','age':8},{'name':'liuliu','age':7}]"); for (int i = 0; i < jsonarray.length(); i++) { JSONObject jsonobj = jsonarray.getJSONObject(i); String name = jsonobj.getString("name"); int age = jsonobj.getInt("age"); System.out.println("name = " + name + ",age = " + age); } }