定义:
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
基础结构:
名称/值”对的集合(A collection of name/value pairs):
如
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }
值的有序列表(An ordered list of values,array):
如
{ "people": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
]}
json工具
json相关的jar包
commons-lang.jar
commons-beanutils.jar
commons-collections.jar
commons-logging.jar
ezmorph.jar
json-lib-2.4-jdk15.jar
核心是json-lib包,json-lib
是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包,使用JSONObject类创建JSONObject对象
package com.test.wangweiwei;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JsonObjectSample {
private static JSONObject createJsonObject() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("username", "wangweiwei");
jsonObject.put("sex", "男");
jsonObject.put("QQ", "413425430");
jsonObject.put("Min.score", new Integer(99));
jsonObject.put("nickname", "梦中心境");
return jsonObject;
}
private static JSONArray createJsonArray(){
JSONArray jsonArray = new JSONArray();
jsonArray.add(0, "jsonarray index 0");
jsonArray.add(1, "jsonarray index 1");
return jsonArray;
}
public static void main(String[]args){
JSONObject jsonObject = JsonObjectSample.createJsonObject();
// 输出jsonobject对象
System.out.println("jsonObject:" +jsonObject);
// 判读输出对象的类型
boolean isArray = jsonObject.isArray();
boolean isEmpty = jsonObject.isEmpty();
boolean isNullObject = jsonObject.isNullObject();
System.out.println("是否为数组:" + isArray + ", 是否为空:" + isEmpty
+ ", isNullObject:" + isNullObject);
//add element
jsonObject.element("mygf", "yy");
System.out.println("添加属性后的对象:" + jsonObject);
JSONArray jsonArray = JsonObjectSample.createJsonArray();
// 输出JSONArray对象
System.out.println("jsonarray: "+jsonArray);
// 判读输出对象的类型
boolean isArray1 = jsonArray.isArray();
boolean isEmpty1 = jsonArray.isEmpty();
System.out.println("是否为数组:" + isArray1 + ", 是否为空:" + isEmpty1);
//在jsonObject中添加一个jsonarray
jsonObject.element("jsonarray", jsonArray);
System.out.println("jsonObject:" +jsonObject);
//获取jsonObject中的jsonarray
System.out.println(jsonObject.getJSONArray("jsonarray"));
//根据key获取value
System.out.println(jsonObject.getString("mygf"));
System.out.println(jsonObject.get("username"));
String tempString=jsonObject.toString();
System.out.println(tempString);
//将json对象转化为java对象
/* JSONObject jsonObject = JSONObject.fromObject("{\"no\":\"104\",\"provience\":\"陕西\",\"road\":\"高新路\",\"streate\":\"\"}");
Address Address = (Address) JSONObject.toBean(jsonObject,Address.class);
log.info(Address.getNo());
log.info(Address.getStreate());
log.info(Address.getProvience());
log.info(Address.getRoad());*/
/* 将java对象转化为json对象:
Address address = new Address();
address.setNo("104");
address.setProvience("陕西");
address.setRoad("高新路");
address.setStreate("");
JSONArray json = JSONArray.fromObject(address);*/
// 将java对象list转化为json对象:
// JSONArray json = JSONArray.fromObject(list);
}
}