JSON 파일을 구문 분석하기 위해 Android 프로젝트에서 Jackson 1.9.5를 사용하고 있습니다.임의의 JSON 키가있는 Jackson ObjectMapper
지금까지 나는 어떤 문제가 없었으며, 미세 다음 코드를 사용하여 파일을 구문 분석 할 수있는 다음 DetailSchema 클래스는 원시적 형과 클래스의 혼합으로 구성되어
AssetManager mgr = getAssets();
ObjectMapper mapper = new ObjectMapper();
try {
InputStream ifp = mgr.open("detail_schema.json");
schema = mapper.readValue(ifp, DetailSchema.class);
} catch (IOException e) {
e.printStackTrace();
}
. 지금 나는 다음과 같은 몇 가지 JSON을 구문 분석 할 문제로 실행 해요 :
나는 아마도 손 전지도 키를 알 수"fields": {
"Suburb": "Paddington",
"State": "NSW",
"Post Code": "2074",
"Lollipop": "Foo Bar Haz"
}
(그들은 사용자 정의 할 수 있습니다). 따라서 관련 Java 클래스가 어떤 모습인지 잘 모르겠습니다.
즉,이 예를 들어, 그것은 같이 수 :
public class MyClass {
public String Suburb;
public String State;
public String PostCode;
public String Lollipop;
}
하지만이 JSON 파일의 또 다른 예를 들어 정확하지 않을 수 있습니다. 이상적으로 잭슨이 값을 NameValuePair과 같은 값으로 매핑하는 방법이 필요합니다. 자동 개체 매핑이이 경우 옵션이 아닐 수도 있습니다. 누군가이를 확인하거나 거부 할 수 있습니까?
대단히 고마워! 지도는 제 목적을 위해 잘 작동합니다. – aaronsnoswell
'Map'을 얻기 위해 실제로 커스텀 클래스를 사용할 필요는 없습니다. Jackson은'Map' 인터페이스의 구현에 직접 deserialize 할 수 있습니다. 예 :'Map jsonFields = mapper.readValue (ifp, HashMap .class)' – brianmearns