SimpleJson:字符串到JSONArray

时间:2016-02-25 09:06:08

标签: java json jettison

我得到以下JSON:

[
  {
    "user_id": "someValue"
  }
]

它保存在String中。

我想将其转换为失败的JSONObject(因为构造函数假定JSON以{开头)。由于这似乎不可能,我想将其转换为JSONArray。我怎么能用SimpleJson做到这一点?

4 个答案:

答案 0 :(得分:10)

JSONParser parser = new JSONParser();
JSONArray array = (JSONArray)parser.parse("[{\"user_id\": 1}]");
System.out.println(((JSONObject)array.get(0)).get("user_id"));

你需要转换为JSONArray,因为这是字符串包含的内容。

答案 1 :(得分:1)

对于您的任务,您可以使用以下代码:

String t = "[{\"user_id\": \"someValue\"}]";
JSONParser parser = new JSONParser();
JSONArray obj = (JSONArray) parser.parse(t);

System.out.println(obj.get(0));

结果将是JSONObject。

答案 2 :(得分:0)

String actualJsonObject = // assuming that this variable contains actual object what ever u want to pass as per your question says

JSONParser parser = new JSONParser();
JSONArray userdataArray= (JSONArray) parser.parse(actualJsonObject );
if(userdataArray.size()>0){
     for (Object user : userdataArray) {            
         JSONObject jsonrow=(JSONObject)parser.parse(String.valueOf(user));
         String User_Id= (String)jsonrow.get("user_Id"); \\ Each User_Id will be displayed.
 } else{
       System.out.println("Empty Array....");
    }

答案 3 :(得分:0)

它对我有用。

    String jsonString = "[{\"user_id\": \"someValue\"}]";
    JSONArray jsonArray = new JSONArray();
    JSONParser parser = new JSONParser();
    try {
        jsonArray = (JSONArray) parser.parse(js);
    } catch (ParseException e) {
        e.printStackTrace();
    }