json 形式の文字列があり、その json から特定の値を抽出したいと考えています。例えば:
{"foo":"this is foo", "bar":{"nested_bar": "this is nested bar"} }
foo
ユーザーは、どちらかbar
または両方を印刷したい場合があります。
現在、フラット json のみを読み取ることができる単純なクラスがあります。
次のコードを変更して、ネストされた json を組み込むにはどうすればよいですか?
もう 1 つの質問は、フラット 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;
}
}