编辑:我实际上找到了答案。我是新来的,所以无法解决这个问题。我能够使用Array.getString(i)返回所需的字符串值。感谢您的所有帮助。

我有这样的JSON:

{
  "List": [
    "example1",
    "example2",
    "example3",
    "example4"
  ]
}

我试图不使用键来获取那些对象的字符串值。我怎样才能做到这一点? jsonObject的getString()需要一个密钥,而我没有一个。

最佳答案

我假设您有一个文件:/home/user/file_001.json
该文件包含以下内容:

{"age":34,"name":"myName","messages":["msg 1","msg 2","msg 3"]}

现在,让我们编写一个读取文件的程序:/home/user/file_001.json并将其内容转换为java JSONObject
package org.xml.json;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;


    public class JsonSimpleRead
    {
        @SuppressWarnings("unchecked")
        public static void main(String[] args)
        {
            JSONParser parser = new JSONParser();
            try
            {
                Object obj = parser.parse(new FileReader("/home/user/file_001.json"));
                JSONObject jsonObject = (JSONObject) obj;
                String name = (String) jsonObject.get("name");
                System.out.println(name);

                long age = (Long) jsonObject.get("age");
                System.out.println(age);

                JSONArray msg = (JSONArray) jsonObject.get("messages");
                Iterator<String> iterator = msg.iterator();
                while (iterator.hasNext())
                {
                    System.out.println(iterator.next());
                }
            }
            catch (FileNotFoundException e)
            {
                e.printStackTrace();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            catch (ParseException e)
            {
                e.printStackTrace();
            }
        }
    }

10-07 14:54