json
数据交换格式
客户端与服务器常用数据交换格式xml、json、html
什么是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));