Web/SpringBoot

[Java] StringBuilder로 JSON value를 만들 때 주의점

hjkongkong 2022. 9. 14. 21:44

JSONArray[JSONObject{id, value}, JSONObject{id, value} .. ]

StringBuilder으로 JSONObject의 value를 만들어 넣고, JSONArray로 묶어 보내는 API를 만들었더니 AJAX 통신에 실패했다.

jsonviewer로 확인했더니 해당 결과값이 JSON vaule가 아니라는 문구가 나왔다.



보내준 값을 확인하니

{
  "id": 128,
  "value": Jamse (male)
}


이런 형식

자세히 보면 value값이 "String"이 아니다.


JSONArray resultArray = new JSONArray();
JSONObject resultObj = new JSONObject();
StringBuilder value = new StringBuilder();
value.append(결과값);
resultObj.put("value", value.toString());
resultArray.add(resultObj);

return resultArray.toString();


이런 식으로 보내주면 value가 String으로 된다.

{
  "id": 128,
  "value": "Jamse (male)"
}