json 형식의 문자열이 있는데 해당 json에서 특정 값을 추출하려고합니다. 예를 들어 는 :자바에서 json 문자열의 값을 추출하십시오.
{"foo":"this is foo", "bar":{"nested_bar": "this is nested bar"} }
사용자는 foo
또는 bar
또는 둘 모두를 인쇄 할 수 있습니다.
지금 당장 플랫 JSON 만 읽을 수있는 간단한 클래스가 있습니다.
중첩 된 json을 포함하도록 다음 코드를 수정하려면 어떻게해야합니까?
또 다른 질문은 평면 json에서 추출하려는 태그를 나타내는 좋은 방법은 무엇입니까? 나는 배열을 지나가고 있었다.
public class JsonParser {
public static String[] tagsToExtract;
public JsonParser(String[] tags){
tagsToExtract = tags;
}
public HashMap<String, Object> extractInformation(Text line) throws JSONException{
HashMap<String, Object> outputHash = new HashMap<String, Object>();
JSONObject jsn = new JSONObject(line.toString());
for (int i =0; i < tagsToExtract.length; i++){
outputHash.put(tagsToExtract[i],jsn.get(tagsToExtract[i].toString()));
}
return outputHash;
}
}
다음과 같은 JSON 구문 분석 라이브러리를 사용 해본 적이 있습니까? 예를 들어, 잭슨? – fge
예, json.org에 가면 Java 용 JSON 파서가 약 10 개 나열됩니다. –