json

数据交换格式

客户端与服务器常用数据交换格式xml、json、html
json

什么是json

json

解析json

public static void main(String[] args) {
		JSONObject jsonObject = new JSONObject();
		// 将json字符串转为jsonbject
		JSONObject jsonStrObject = jsonObject.parseObject(jsonStr);
		JSONArray jsonArray = jsonStrObject.getJSONArray("sites");
		for (Object object : jsonArray) {
			JSONObject stObject = (JSONObject) object;
			String name = stObject.getString("name");
			String url = stObject.getString("url");
			System.out.println(name + "---" + url);
		}
	}

Json转对象

class Item {
	private String itemId;
	private String itemName;

	public String getItemId() {

		return itemId;
	}

	public void setItemId(String itemId) {

		this.itemId = itemId;
	}

	public String getItemName() {

		return itemName;
	}

	public void setItemName(String itemName) {

		this.itemName = itemName;
	}

	@Override
	public String toString() {
		return "Item [itemId=" + itemId + ", itemName=" + itemName + "]";
	}

}

public class User {

	private String id;
	private String name;
	private List<Item> items;

	public String getId() {

		return id;
	}

	public void setId(String id) {

		this.id = id;
	}

	public String getName() {

		return name;
	}

	public void setName(String name) {

		this.name = name;
	}

	public List<Item> getItems() {

		return items;
	}

	public void setItems(List<Item> items) {

		this.items = items;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", items=" + items + "]";
	}

}
// 2.使用java反射机制 对应生成对象
public static void main(String[] args) {
		User user = new JSONObject().parseObject(json, User.class);
		System.out.println("user:" + user.toString());
}

组装json

// 1.json api 封装json
		JSONObject root = new JSONObject();
		root.put("id", "01");
		root.put("name", "张三");
		JSONArray arrayList = new JSONArray();
		JSONObject object1 = new JSONObject();
		object1.put("itemId", "20");
		object1.put("itemName", "蚂蚁课堂");
		JSONObject object2 = new JSONObject();
		object2.put("itemId", "30");
		object2.put("itemName", "每特学院");
		arrayList.add(object1); 
		arrayList.add(object2);
		root.put("items", arrayList);
		System.out.println(root.toJSONString());

将对象转换成json字符串

User user = new User();
		user.setId("01");
		user.setName("张三");
		List<Item> items =new ArrayList<Item>();
		Item item1 = new Item();
		item1.setItemId("20");
		item1.setItemName("蚂蚁课堂");
		Item item2 = new Item();
		item2.setItemId("30");
		item2.setItemName("每特学院");
		items.add(item1);
		items.add(item2);
		user.setItems(items);
		System.out.println(new JSONObject().toJSONString(user));