Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要一种真正简单的方法来读取java中的json值吗_Java_Json - Fatal编程技术网

需要一种真正简单的方法来读取java中的json值吗

需要一种真正简单的方法来读取java中的json值吗,java,json,Java,Json,我目前正在用Java编写一个应用程序,并且正在努力从JSON格式的字符串中提取值 有人能帮我用最简单的方法从这个字符串中提取数据吗?如果可能的话,我宁愿不使用外部库 {"exchange":{"status":"Enabled","message":"Broadband on Fibre Technology","exchange_code":"NIWBY","exchange_name":"WHITEABBEY"},"products":[{"name":"20CN ADSL Max","li

我目前正在用Java编写一个应用程序,并且正在努力从JSON格式的字符串中提取值

有人能帮我用最简单的方法从这个字符串中提取数据吗?如果可能的话,我宁愿不使用外部库

{"exchange":{"status":"Enabled","message":"Broadband on Fibre Technology","exchange_code":"NIWBY","exchange_name":"WHITEABBEY"},"products":[{"name":"20CN ADSL Max","likely_down_speed":1.5,"likely_up_speed":0.15,"availability":true....
有人能解释一下我如何返回可能的下降速度,例如20CNADSL最大值


当然,您可以自己进行解析,但如果您依赖现有的库(例如),解析速度会快得多

这样,您就可以轻松地将字符串转换为JSON对象,并提取所需的所有字段


如果现有库不是一个选项,那么您需要自己构建描述对象的树,以便提取对键值。目前,在Java中,如果没有外部库或您自己的实现,就无法解析json

使用JSON时,库是一个标准

您可以将此代码段与库一起使用,以实现您的要求:

JSONObject obj = new JSONObject(" .... ");
JSONArray arr = obj.getJSONArray("products");
for (int i = 0; i < arr.length(); i++) {
    String name = arr.getJSONObject(i).getString("name");
    if ( name.equals("20CN ADSL Max") ) {
        String s =  arr.getJSONObject(i).getString("likely down speed");
    }
}

希望这能有所帮助。

虽然这看起来是一项非常简单、直接的任务,但很快就会变得相当复杂

检查SO线程。不幸的是,没有一个单一的,明确的解决方案来解决这个问题,如该线程所示。但我想图书馆似乎是最受欢迎的解决方案

如果应用程序需要处理任意JSON,我建议不要尝试构建自己的解析器

无论您对使用外部库有什么异议,都要克服它们。

如果可能的话,我宁愿不使用外部库。有什么原因吗?可能的副本