java - 将 Json 字符串解析为 Map

标签 java json

我有一个如下所示的 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/

相关文章:

java - 初学者 : Trying to have a class with an interface extend another class

java - 是否可以在 Java 中创建一个对输入法进行计时的方法?

java - 如何将字符串转换为Json并从中提取信息

android - JSONObject解析

PHP MYSQL 使用 JSON 提供的内容构建动态 UPDATE 查询

java - 从父类(super class)继承构造函数?

java - 如何获取数组的子索引值

php - 选择对 json 的多维数组进行查询

改变参数数量的Java函数调用

java - 将 DataTable 对象从 JavaScript 传递到 Java