2017-11-02 16 views
0

실제로 JSONArray를 수신하고 모든 JSONObject를 반복합니다. 그러나 일부 json 필드에는 특수 문자가 포함되어 있습니다. Forxample : 등 샘플 된 JSONObject ä, O, A 및은 다음과 같다 :java의 문자열 값이 올바르게 읽히지 않습니다.

{ 
    "field1": null, 
    "field2": "Äpple", 
    "field3": 1, 
    "field4": null 
} 

FIELD2는 \의 u201epple로 표시되고있다. 인코딩 문제가 있습니까? 이 문제를 어떻게 해결할 수 있습니까?
다음 코드를 사용하여 배열의 JSON 객체를 읽습니다.

개체 dataObject = res.getJSONObject (i) .get (column);
tempObject.put (column, dataObject);

이제 tempObject은 왜곡 값을 갖는 열의 FIELD2 '를 포함한다.

+0

JSON의 출처는 무엇입니까? 그것을 구문 분석하기 전에 올바른 형식으로되어 있습니까 ('JSONObject' 인스턴스로 읽습니까?)? 네, 인코딩 문제는 있지만 근원을 모른 채 정확한 해결책을 제시하기는 어렵습니다. – AxelH

+0

UTF-8 인코딩이 필요합니다. –

답변

-1

샘플이 배열로 제공된 다음 해당 배열을 읽으려면 JSON 배열을 JsonObject로 변환 한 다음 field1, field2 값을 문자열로 가져올 수 있습니다. 예 : jarr.get (i) .getAsJsonObject(). get ("field1"). getAsString();

0

utf-8에 대한 응답 인코딩을 설정하려고 시도 했습니까?

res.setContentType("application/json;charset=UTF-8");