あなたのJSONは以下のようになっていることを考慮すると:
{
"Red": {
"Level 1": "Specify Action",
"Level 2": "Action Taken",
"Level 3": "No Action Taken"
},
"Orange": {
"Level 4": "Defeat Gannon",
"Level 5": "Save Princess",
"Level 6": "Find Triforce"
}
}
私はHashMapの、ジャクソンのAPIと、以下のようなものを使用します。私は同様のGSONを使用して同様に行うことができると思います。
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
String jsonInString = "{\n" +
" \"Red\": {\n" +
" \"Level 1\": \"Specify Action\",\n" +
" \"Level 2\": \"Action Taken\",\n" +
" \"Level 3\": \"No Action Taken\"\n" +
" },\n" +
" \"Orange\": {\n" +
" \"Level 4\": \"Defeat Gannon\",\n" +
" \"Level 5\": \"Save Princess\",\n" +
" \"Level 6\": \"Find Triforce\"\n" +
" }\n" +
"}";
TypeReference< Map<String, HashMap<String, String>>> typeRef
= new TypeReference<Map<String, HashMap<String, String>>>() {
};
Map<String, HashMap<String, String>> value = mapper.readValue(jsonInString, typeRef);
System.out.println(value);
}
}
変数名がない場合、このペイロードをHashMap関数でどうやって渡していますか? – petryuno1
申し訳ありませんが、わかりませんでした。私はHashMapを使って "赤"と "オレンジ"のオブジェクトを表現することができたと考えましたが、あなたが指摘したように、親オブジェクトを参照する方法がわからないので全体のペイロードを渡すことができません。 – killQuotes
親オブジェクトはどういう意味ですか? –