JSONObject toJSONstring 오류
1450 단어 JSONObject
Model model = new Model();
String json = JSONObject.toJSONString(model); // serializes model to Json
Model model2 = JSONObject.parseObject(json, Model.class); // deserializes json into model2
즉 json 문자열을 json 대상으로 바꿀 수 있으며, 이 json 대상의 내용이 예상 가능한 대상 유형이라면 모델 모델 2 = JSONObject를 통해 변경할 수 있습니다.parseObject(json, Model.class); 예기한 대상 얻기;
만약 예상할 수 없는 json 문자열일 때, 고정된 키가 있다면, JSONObject jsonObject = JSONObject를 통과할 수 있습니다.parseObject(jsonStr);
그리고 jsonObject를 통해getString("key");등 기본 방법으로 키에 대한value를 가져옵니다.
2. 단, 사용할 때 주의해야 할 부분은 모든 대상이 JSONObject를 통과할 수 있는 것이 아니다.toJSONstring(모델) 변환이 성공했습니다.
예를 들어 아리 음성 인증코드를 받을 때Single CallByTtsRequest 요청 대상에게 상기 방법을 사용하면 오류 메시지가 변환됩니다.
SingleCallByTtsRequest extends RpcAcsRequest
RpcAcsRequest extends AcsRequest
SingleCallByTtsResponse extends AcsResponse
그들의 계승 관계는 위와 같다. 여기서 잘못된 원인에 대해 깊이 있게 분석하지 않았는데 그 중에서 상호 인용이 있어서 해석 전환이 실패했다고 추측한다.
3. 기본값이null인 키 필터링
public static String toJSONstring(Object object): 엔티티 객체를 Json 문자열로 변환할 때 null 속성은 기본적으로 무시됩니다.
public static String to JSONstring(Object object, Serializer Feature...features): 이 방법은 실체 대상을 Json 문자열로 변환할 때 매개 변수인 Serializer Feature를 전달하지 않습니다.WriteMapNullValue는 값이 null인 속성을 무시합니다.