使用Java构造和解析Json数据的两种方法主要有两种实现方式:使用JSONObject和JSONArray类以及使用Gson库。下面分别进行详细讲解:
1.使用JSONObject和JSONArray类
1.1 构造Json数据
通过JSONObject和JSONArray类可以直接构造出相应的Json数据。
1.1.1 构造JSONObject
JSONObject obj = new JSONObject();
obj.put("name", "张三");
obj.put("age", 18);
System.out.println(obj.toString());
运行结果为:
{
"name": "张三",
"age": 18
}
1.1.2 构造JSONArray
JSONArray arr = new JSONArray();
arr.add("张三");
arr.add(18);
System.out.println(arr.toString());
运行结果为:
[
"张三",
18
]
1.2 解析Json数据
1.2.1 解析JSONObject
String jsonStr = "{\"name\":\"李四\",\"age\":20}";
JSONObject obj = new JSONObject(jsonStr);
String name = obj.getString("name");
int age = obj.getInt("age");
System.out.println("name:" + name + ", age:" + age);
运行结果为:
name:李四, age:20
1.2.2 解析JSONArray
String jsonStr = "[\"李四\",20]";
JSONArray arr = new JSONArray(jsonStr);
String name = arr.getString(0);
int age = arr.getInt(1);
System.out.println("name:" + name + ", age:" + age);
运行结果为:
name:李四, age:20
2.使用Gson库
2.1 构造Json数据
通过Gson库可以将Java对象转换为Json数据。
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Person person = new Person("张三", 18);
Gson gson = new Gson();
String jsonStr = gson.toJson(person);
System.out.println(jsonStr);
运行结果为:
{"name":"张三","age":18}
2.2 解析Json数据
通过Gson库可以将Json数据转换为Java对象。
String jsonStr = "{\"name\":\"李四\",\"age\":20}";
Gson gson = new Gson();
Person person = gson.fromJson(jsonStr, Person.class);
System.out.println("name:" + person.name + ", age:" + person.age);
运行结果为:
name:李四, age:20
以上就是使用Java构造和解析Json数据的两种方法的完整攻略,希望可以帮助您更好地理解和使用Json数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Java构造和解析Json数据的两种方法(详解二) - Python技术站