>웹 프론트엔드 >JS 튜토리얼 >JsonObject 란 무엇입니까?

JsonObject 란 무엇입니까?

(*-*)浩
(*-*)浩원래의
2019-05-18 19:56:2111738검색

JSONObject는 JSON 형식의 데이터 구조, 즉 "키-값" 구조로 이해될 수 있는 데이터 구조입니다. 형식은 "{"key1":value1,"key2입니다. ",value2.. ..}"; JSONObject에 요소를 추가하려면 put 및 get 메소드를 사용할 수 있습니다.

JsonObject 란 무엇입니까?

이 튜토리얼의 운영 환경: windows7 시스템, java8 버전, DELL G3 컴퓨터.

JSONObject는 JSON 형식(키-값 구조)의 데이터 구조로 이해될 수 있는 데이터 구조입니다. put 메소드를 사용하여 json 객체에 요소를 추가할 수 있습니다. JSONObject는 문자열로 쉽게 변환할 수 있고, 다른 객체도 JSONObject 객체로 쉽게 변환할 수 있습니다.

JsonObject 형식:

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

key은 문자열이어야 합니다.

jsonobject의 역할은 무엇인가요?

JsonObject는 흔히 json이라고 합니다. 중요한 데이터 전송 개체입니다.

Ajax 요청은 페이지를 새로 고치지 않지만 js로 부분 새로 고침을 수행할 수 있기 때문에 json은 비동기 요청의 반환 개체로 자주 사용됩니다.

response.getWriter()를 통해 PrintWriter 비밀번호를 가져온 다음 pw.print(json)를 가져옵니다. response.setContentType("application/json; charset=utf-8");이 설정되지 않은 경우 js에서 직접 구문 분석해야 합니다.

JSONObject는 put(key,value) 메서드와 get(key) 메서드를 사용하여 요소를 추가할 수 있습니다. 또한 JsonObject는 중요한 데이터 전송 개체입니다. , 실무에 필수적입니다.

1. json

1을 빌드하고 put() 메서드를 사용하여 데이터를 씁니다.

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

2. HashMap을 사용하여

실제로 먼저 HashMap 개체를 만들고 데이터를 압축합니다. 그런 다음 JSONObject를 생성할 때 매개변수로 전달합니다.

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. JavaBean을 사용하여 빌드합니다.

이 방법은 실제로 더 일반적으로 사용됩니다.
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);

참고: JavaBean에는 getter 메서드가 있어야 합니다. 그렇지 않으면 저장소가 작동하지 않습니다. 데이터에 접근할 수 있어야 합니다.

2. json 파싱

json 파싱은 주로 Number, Boolean 등의 기본형과 배열입니다.
기본 유형의 구문 분석은 JSONObject 객체의 getXxx(key) 메서드를 직접 호출합니다. 문자열을 얻으면 getString(key)이 사용되며 Boolean 값은 getBoolean(key)입니다.
배열을 구문 분석하려면 JSONObject 개체의 getJSONArray(key) 메서드를 통해 JSONArray 개체를 얻은 다음 JSONArray 개체의 get(i) 메서드를 호출하여 배열 요소를 가져와야 합니다. 여기서 i는 인덱스 값.

1. 하나의 객체만 포함하는 JSON 문자열 구문 분석

//将得到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. 🎜🎜#

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;

위 내용은 JsonObject 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.