1: 先创建java实体类,例如:
public class Brand {
private String id;
private String brandName;;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public String getBrandName() {
return brandName;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
2:创建java类的类对象
Brand brand1=new Brand();
Brand brand2=new Brand();
3:添加数据
brand1.setId(1);
brand1.setBrandName("奔驰");
brand2.setId(2);
brand2.setBrandName("宝马");
4:添加到 list 中
List list=new ArrayList();
list.add(brand1);
list.add(brand2);
5:在json对应的数据格式(Object格式)中添加数据
Map
map.put("reason", "success");
map.put("result", list); // list
6:转化为json类型的数据并输出 //JSON.toJSONString(java类型数据)
System.out.println(JSON.toJSONString(map));
------------------------------------------------------------------------------------------------------------------------
1:先用 JSONObject jsonObj=JSON.parseObject(str); //str是json格式的数据
2:对于获取不同格式的数据
(1):JSONArray格式:
JSONArray jsonArray=jsonObj.getJSONArray("result");
(2):JSONObject格式:
JSONObject provinceCompareJsonObj=
jsonObj.getJSONObject("data").getJSONObject("provinceCompare");
//要获取"provinceCompare"内的数据“
//data”内的数据为JSONObject格式,且"provinceCompare"内的数据也为JSONObject格式
3:(1):对于要输出的数据是Object对象,例如{ 键1:{键2:值} }的格式
for(Entry entry:provinceCompareJsonObj.entrySet()) {
System.out.println("省份/直辖市:"+entry.getKey()); //获取其中的键1并输出
//获取<键2:值>的对象,再依次输出其中的值
JSONObject value=(JSONObject)entry.getValue();
System.out.println("nowConfirm:"+value.getIntValue("nowConfirm"));
System.out.println("dead:"+value.getIntValue("dead"));
System.out.println("heal:"+value.getIntValue("heal"));
System.out.println("confirmAdd:"+value.getIntValue("confirmAdd"));
System.out.println();
}
(2): 对于要输出的数据是数组对象 例如 [{键:值,键:值},{键:值,键:值}] 的格式
1):遍历方法1
对其中的每个值都通过对应的键来获取
//先获取jsonArray的长度,再遍历
for(int i=0;i
2):遍历方法2
需要创建要获取的数据的类的对象,根据类对象的get方法获取值
//需要创建要获取的数据的类的对象,根据类对象的get方法获取值
List questionList=jsonObj.getList("result", Detail.class);
for(Detail detail:questionList) {
System.out.println("题干:"+detail.getQuestion());
System.out.println("答案:"+detail.getAnswer());
System.out.println("选项1:"+detail.getItem1());
System.out.println("选项2:"+detail.getItem2());
System.out.println("解析:"+detail.getExplains());
System.out.println();
}