我有一个如下所示的 JSON 值,我需要解析数据对值。
{
"columns" : [ "Book", "Publisher" ],
"data" : [ [ "Book1", "Author1" ], [ "Book2", "Author2" ], [ "Book3", "Author3" ]]
}
我应该如何使用org.json库提取我需要的值,并放入像Map这样的数据类型?我正在使用Java编程。提前致谢!
编辑:“data”的数据集是查询结果,因此我们无法确定代码中的值。 Book 和 Publisher 列是已知的,但我们对数据集唯一了解的是它们是一对值。
最佳答案
由于您尚未发布您尝试过的内容,因此我无法为您编码。不过,这里有一些可以帮助您开始使用 json 的东西。
public static void main(String[] args) throws IOException {
String jsondata = "{\"columns\" : [\"Book\", \"Publisher\" ], \"data\" : [ [ \"Book1\", \"Author1\" ], [ \"Book2\", \"Author2\" ], [ \"Book3\", \"Author3\" ]]}";
JSONObject obj = (JSONObject)JSONValue.parse(jsondata);
JSONArray jsonval= (JSONArray)obj.get("data");
HashMap<String, String> map = new HashMap<String, String>();
for (int i=0; i<jsonval.toArray().length; i++) {
JSONArray datapair = (JSONArray)jsonval.get(i);
String book = (String) datapair.get(0);
String author = (String)datapair.get(1);
map.put(book, author);
}
}
浏览文档以了解插入 map 的语法
关于java - 将 Json 字符串解析为 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25869027/