0
JSONArray
に要素を追加する必要があります。要素が既に含まれているため、追加する属性の型を知っている必要があります(整数または文字列など)。 そのオブジェクトをJavaで配列に追加するには?JSONObjectをJSONArrayに追加する
JSONArray
に要素を追加する必要があります。要素が既に含まれているため、追加する属性の型を知っている必要があります(整数または文字列など)。 そのオブジェクトをJavaで配列に追加するには?JSONObjectをJSONArrayに追加する
他の人も示唆しているように、単にJsonArray Builderでaddメソッドを使用できます。
import javax.json.*;
public class JsonExample {
public static void main(String[] args) {
JsonObject personObject = Json.createObjectBuilder()
.add("name", Json.createObjectBuilder()
.add("given", "John")
.add("middle", "Edward")
.add("surname", "Doe")
.build())
.add("age", 42)
.add("isMarried", true)
.add("address", Json.createObjectBuilder()
.add("street", "Main Street")
.add("city", "New York")
.add("zipCode", "10044")
.add("country", "United States")
.build())
.add("phoneNumber", Json.createArrayBuilder()
.add("+1 (718) 111-1111")
.add("+1 (718) 111-1112")
.build())
.build();
JsonArray personArray = Json.createArrayBuilder()
.add(personObject) // Add person to array.
.build();
System.out.println(JsonUtil.prettyPrint(personArray));
}
}
これは単にJSON出力の書式設定に使用されます。
import java.io.StringWriter;
import java.util.*;
import javax.json.*;
import javax.json.stream.JsonGenerator;
/* Based on: http://stackoverflow.com/a/32500882/1762224 */
public class JsonUtil {
public static String prettyPrint(JsonStructure json) {
return jsonFormat(json, JsonGenerator.PRETTY_PRINTING);
}
public static String jsonFormat(JsonStructure json, String... options) {
StringWriter stringWriter = new StringWriter();
Map<String, Boolean> config = buildConfig(options);
JsonWriterFactory writerFactory = Json.createWriterFactory(config);
JsonWriter jsonWriter = writerFactory.createWriter(stringWriter);
jsonWriter.write(json);
jsonWriter.close();
return stringWriter.toString();
}
private static Map<String, Boolean> buildConfig(String... options) {
Map<String, Boolean> config = new HashMap<String, Boolean>();
if (options != null) {
for (String option : options) {
config.put(option, true);
}
}
return config;
}
}
この例では、次の依存関係を使用しています。ここでは
apply plugin: 'java'
repositories {
jcenter()
}
dependencies {
compile 'javax.json:javax.json-api:1.1.0-M1'
compile 'org.glassfish:javax.json:1.1.0-M1'
}
が出力されます。
[
{
"name": {
"given": "John",
"middle": "Edward",
"surname": "Doe"
},
"age": 42,
"isMarried": true,
"address": {
"street": "Main Street",
"city": "New York",
"zipCode": "10044",
"country": "United States"
},
"phoneNumber": [
"+1 (718) 111-1111",
"+1 (718) 111-1112"
]
}
]
'jsonArray.add(jsonObject);' – Mistalis
あなたはJSON APIを使用していますか?ジャクソンまたはグソンか何か? – Darshit
javaのjson apiについてもっと知るにはhttp://docs.oracle.com/javaee/7/api/javax/json/package-summary.html – xFighter