2

今、私はJson解析の経験があります.コレクションの練習はあまりありません.Json文字列があります

{   
    "time":1352113682,
    "api_version":"1",
    "firstname":"abc",
    "lastname":"xyz",
    "company":"Cool Apps",
    "email":"abc@apps.com.au"
}

クラスを作りました

public class AuthenticateUser implements Serializable{

    // Response when Successfully Login
    public String time;
    public String api_version;
    public String firstname;
    public String lastname;
    public String company;
    public String email;

}

そして、このように解析しようとしています

Map<String, AuthenticateUser> map=null;
ObjectMapper mapper=new ObjectMapper();
try{
    map=mapper.readValue(result,new TypeReference<Map<String, AuthenticateUser>>(){});
    Set<String> keys=map.keySet();
    for (String key : keys) {
    System.out.println(map.get(key).time);
    System.out.println(map.get(key).api_version);
        System.out.println(map.get(key).firstname);
    System.out.println(map.get(key).lastname);
    System.out.println(map.get(key).company);
    System.out.println(map.get(key).email);
    }
}catch (Exception e) {
    e.printStackTrace();
}

しかし、このエラーが発生します

com.fasterxml.jackson.databind.JsonMappingException: JSON 整数から型 [単純型、クラス AuthenticateUser] の値をインスタンス化できません。com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromInt(StdValueInstantiator.java:316) に single-int-arg コンストラクタ/ファクトリ メソッドがありません。com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromNumber(BeanDeserializer. Java:427) com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:119) com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringMap(MapDeserializer.java:429) com .fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:310) com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26) com.fasterxml で。

4

1 に答える 1