需要一种真正简单的方法来读取java中的json值吗
我目前正在用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
{"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,我建议不要尝试构建自己的解析器 无论您对使用外部库有什么异议,都要克服它们。如果可能的话,我宁愿不使用外部库。有什么原因吗?可能的副本