JavaでJSONオブジェクトからキーと値を取得する方法


  1. JSONオブジェクトをパースする: まず、JSON文字列をJavaのオブジェクトに変換する必要があります。一般的には、JSONライブラリ(例えば、Jackson、Gsonなど)を使用してこれを行います。以下はJacksonライブラリを使用した例です。
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
// JSON文字列
String jsonString = "{\"key1\":\"value1\",\"key2\":\"value2\",\"key3\":\"value3\"}";
// JSONオブジェクトをパースする
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(jsonString);
  1. キーと値の取得: JSONオブジェクトからキーと値を取得するには、JsonNodeオブジェクトのメソッドを使用します。以下はいくつかの例です。
// キーの取得
Iterator<String> fieldNames = jsonNode.fieldNames();
while (fieldNames.hasNext()) {
    String key = fieldNames.next();
    System.out.println("キー: " + key);
}
// キーに対応する値の取得
String value1 = jsonNode.get("key1").asText();
System.out.println("key1に対応する値: " + value1);
  1. キーと値の取得(拡張方法): JsonNodeオブジェクトのメソッドを使ってキーと値を直接取得する代わりに、Java 8以降ではStream APIを使用しても取得することができます。以下はその例です。
import java.util.stream.StreamSupport;
// キーと値の取得
StreamSupport.stream(jsonNode.spliterator(), false)
        .forEach(entry -> {
            String key = entry.getKey();
            JsonNode value = entry.getValue();
            System.out.println("キー: " + key + ", 値: " + value);
        });

これらはJavaでJSONオブジェクトからキーと値を取得するためのシンプルで簡単な方法です。必要に応じて、使用しているJSONライブラリに応じて適切なメソッドを使用してください。