Home  >  Article  >  Web Front-end  >  What is JsonObject

What is JsonObject

(*-*)浩
(*-*)浩Original
2019-05-18 19:56:2111612browse

JSONObject is a data structure, which can be understood as a data structure in JSON format, that is, the "key-value" structure. Its format is "{"key1":value1,"key2",value2.... }"; To add elements to JSONObject, you can use the put and get methods.

What is JsonObject

The operating environment of this tutorial: windows7 system, java8 version, DELL G3 computer.

JSONObject is a data structure that can be understood as a data structure in JSON format (key-value structure). You can use the put method to add elements to the json object. JSONObject can be easily converted into a string, and other objects can also be easily converted into JSONObject objects.

JsonObject format:

{"key1":value1,"key2",value2....}

key must be a string.

What is the role of jsonobject?

JsonObject is often referred to as json. It is an important data transmission object.

Because ajax requests do not refresh the page, but can achieve partial refresh with js, so json is often used as the return object of asynchronous requests.

Get PrintWriter pw through response.getWriter(), and then pw.print(json). If response.setContentType("application/json; charset=utf-8"); is not set, you need to parse it yourself in js.

JSONObject can add elements using the put(key,value) method and the element method get(key). You can choose either of these two methods. In addition, JsonObject is an important data transmission object. It is essential in practical work.

1. Construct json

1. Instantiate a JSONObject object and write the data using the put() method.

JSONObject obj = new JSONObject();
obj.put(key, value);

2. Use HashMap to build

In fact, you first create a HashMap object and package the data in it, and then use it as a JSONObject when creating A parameter is passed in.

Map<String, Object> data = new HashMap<String, Object>();
data.put("name", "John");
data.put("sex", "male");
data.put("age", 22);
data.put("is_student", true);
data.put("hobbies", new String[] {"hiking", "swimming"});

JSONObject obj = new JSONObject(data);
// 或是下面这种写法,将 java 对象转换为 json 对象
JSONObject obj = JSONObject.fromObject(data);

3. Use JavaBean to build

This method is more commonly used in practice.
Create javaBean:

public class PersonInfo {
    private String name;
    private String sex;
    private int age;
    private boolean isStudent;
    private String[] hobbies;

Build json:

PersonInfo info = new PersonInfo();
info.setName("John");
info.setSex("male");
info.setAge(22);
info.setStudent(true);
info.setHobbies(new String[] {"hiking", "swimming"});

JSONObject obj = new JSONObject(info);
// 或是下面这种写法,将 java 对象转换为 json 对象
JSONObject obj = JSONObject.fromObject(data);

Note: JavaBean must have a getter method, otherwise the stored data will not be accessible.

2. Parsing json

Parsing json mainly includes basic types such as Number, boolean, etc., and array Array.
The parsing of basic types directly calls the getXxx(key) method of the JSONObject object. If the string is obtained, getString(key) is used, and the Boolean value is getBoolean(key).
To parse an array, you need to obtain a JSONArray object through the getJSONArray(key) method of the JSONObject object, and then call the get(i) method of the JSONArray object to obtain the array elements, where i is the index value.

1. Parsing a json string containing only one object

//将得到json数据转换为一个json对象
JSONObject jsonObject = new JSONObject(data);
//获取"persons"的json对象
jsonObject = jsonObject.getJSONObject("persons");
//通过相应的get方法,获取相应的属性
int id = jsonObject.getInt("id");
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
//将获取到的数据放到一个Person对象中
Person person = new Person(id, name, age);

2. Json string containing multiple objects

List<Person> list = new ArrayList<>();
//将得到json数据转换为一个json对象
JSONObject jsonObject = new JSONObject(data);
//获取"persons"的json对象,并将其转换为一个json数组
JSONArray array = jsonObject.getJSONArray("persons");
//通过循环获取数据,并放入list集合中
for (int i = 0;i<array.length();i++){
    int id = array.getJSONObject(i).getInt("id");
    String name = array.getJSONObject(i).getString("name");
    int age = array.getJSONObject(i).getInt("age");
    Person person = new Person(id, name, age);
    list.add(person);
}
return list;

The above is the detailed content of What is JsonObject. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:How to learn front-end jsNext article:How to learn front-end js