자바 목록에서 JSON 문자열 배열 만들기

칼라 :


내가 JSON 배열 문자열로 렌더링하려는 자바 POJO에 포함 된 java.util.List에 있습니다. 예를 들면 :

[
  { "name": "abc", "age": 50 },
  { "name": "def", "age": "25" }
];

사용 자바 EE JSON API 광고 내가 추가 한 :

public String createJsonArrayFromList(List<Person> list) {
    JsonArrayBuilder jsonArray = Json.createArrayBuilder();
    for(Person c : list) {
        jsonArray.add(Json.createObjectBuilder()
                .add("name", c.getName())
                .add("surname", c.getSurname()));
    }
    JsonArray array =jsonArray.build();
    return array.toString();
}

그러나, 무엇을 반환하면 JSON 문자열 배열이 아니라 "org.glassfish.json.JsonArrayBuilderImpl@761c5d2f"

나는 함께 attemped있다 :

StringWriter buffer = new StringWriter();
Json.createWriter(buffer).writeObject(array);

그러나 writeObject에 다른 물체가 JsonArray보다는 입력 기대하고있다. 어떤 도움?

user11044402 :

사용 writeArray대신 writeObject:

JsonArray arr = ...;
JsonWriter writer = Json.createWriter(...)
writer.writeArray(arr);
writer.close();

참조 워드 프로세서 .

추천

출처http://43.154.161.224:23101/article/api/json?id=333946&siteId=1