2016-02-25 30 views
5

我得到以下JSON:SimpleJson:String要JSONArray

[ 
    { 
    "user_id": "someValue" 
    } 
] 

它保存在字符串中。

我想將它轉換爲JSONObject失敗(因爲構造函數假定JSON以{開頭)。因爲這似乎不可能,所以我想將它轉換爲JSONArray。我如何用SimpleJson做到這一點?

+0

我想我可以幫助你。請在JSON中發佈一些更多信息..它很少爲您提供確切的代碼..我已經在我的項目中完成了這項工作.. 謝謝 –

回答

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

您需要將其轉換爲JSONArray,因爲這是字符串包含的內容。

1

對於你的任務,你可以使用代碼波紋管:

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

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

而且結果會是的JSONObject。

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...."); 
    } 
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(); 
    }