为了账号安全,请及时绑定邮箱和手机立即绑定

如何从文件解析此 json

如何从文件解析此 json

尚方宝剑之说 2022-09-22 16:12:31
如何使用简单Json库解析这个json文件,格式是这样的:谢谢我的文件看起来像这样:里面有Json数组的json文件; {"data":[{"host":"hostname1","port":2049,"open":"false", "info":" "},   {"host":"hostname1","port":2049,"open":"false", "info":" "},  {"host":"hostname2","port":2049,"open":"false", "info":" "},  {"host":"hostname3","port":2049,"open":"false", "info":" "},  {"host":"hostname4","port":443,"open":"false", "info":" "},  {"host":"hostname5","port":443,"open":"false","info":" "},  {"host":"hostname6","port":61208,"open":"false","info":" "},  {"host":"hostname7","port":139,"open":"false","info":" "}]}  此时此刻我的代码:JSONParser parser = new JSONParser();       try {           Object obj = parser.parse(new FileReader("D:/file.json"));           JSONArray jsonObject = (JSONArray) obj;           JSONObject arr = (JSONObject) jsonObject.get(0);           JSONArray arguments = (JSONArray) arr.get("arguments");           System.out.println("arguments>>>>>>>>> "+arguments);           for(int i = 0 ; i< arguments.size() ;i++){               JSONObject object = (JSONObject) arguments.get(i);               System.out.println(object);               return object;           }       } catch (Exception e) {           e.printStackTrace();       }     return null;我手动做了这个://data           JSONObject obj1 = new JSONObject();           obj1.put("host", "mkyong.com");           obj1.put("port", "555");           obj1.put("open", "false");           obj1.put("info", "");           JSONObject obj2 = new JSONObject();           obj2.put("host", "mkyong.com");           obj2.put("port", "555");           obj2.put("open", "false");           obj2.put("info", "");           JSONArray list = new JSONArray();           list.add(obj2);           JSONObject datajson = new JSONObject();           datajson.put("data", list);
查看完整描述

1 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

它看起来像一个旧的谷歌图书馆。我认为您需要切换到 .下面是演示如何读取给定 .这里的键是原始对象将对象数组作为键的值。JSON.simpleGSONJSONJSONJSONdata


import java.io.FileReader;

import java.util.Iterator;

import org.json.simple.JSONArray;

import org.json.simple.JSONObject;

import org.json.simple.parser.JSONParser;


/**

 *

 * @author blj0011

 */

public class JsonSimpleReaderExample

{

    public static void main(String[] args)

    {

        JSONParser parser = new JSONParser();


        try {

            Object obj = parser.parse(new FileReader("file.json"));

            JSONObject jsonObject = (JSONObject) obj;


            JSONArray array = (JSONArray) jsonObject.get("data");

            Iterator<JSONObject> iterator = array.iterator();

            while (iterator.hasNext()) {

                JSONObject jsonObjectInJsonArray = (JSONObject) iterator.next();

                System.out.println(jsonObjectInJsonArray.get("host"));

            }

        }

        catch (Exception ex) {

            System.out.println(ex.toString());

        }

    }

}

输出:


hostname1

hostname1

hostname2

hostname3

hostname4

hostname5

hostname6

hostname7


查看完整回答
反对 回复 2022-09-22
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信