简体   繁体   中英

How to get nested arrays from json file using json simple

I'm trying to get a nested array from a json file, but I can't find a way to do it. What I want is a array with many other arrays. Using arr.toArray() I get a array with two strings one being "["user1", "name", "password"]" and "["user2", "name", "password"]". Is there a way to get an array with arrays?

{
  "Users": {
      "info": [
         ["user1", "name", "password"],
         ["user2", "name", "password"]
       ]
  }

}
public static void main(String[] args) {
        JSONParser parser = new JSONParser();
        try {
            Object obj = parser.parse(new FileReader("myPath"));

      
            JSONObject jsonObject = (JSONObject) obj;
            JSONObject jsonObject1 = (JSONObject) jsonObject.get("User1");
            JSONArray arr = (JSONArray) jsonObject1.get("info");
            System.out.println(arr.toArray());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

I think you might be using one of the older JSON Libraries, I believe its the org.json.simple library. If this is going to be an important project, I'd recommend switching over to the Google GSON Library.

For now, Try Switching

JSONObject jsonObject1 = (JSONObject) jsonObject.get("User1");

to JSONObject jsonObject1 = (JSONObject) jsonObject.get("Users");

this should fix some of your problems. In your JSON file, Users is the object you need to get in order to access the info Array.

in the mean time, here's a starting place for GSON

GSON tutorialspoint

https://www.tutorialspoint.com/gson/gson_quick_guide.htm

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM