我有一个 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;
}
}