2016-02-25 15 views
5

tôi nhận được JSON sau:simplejson: String để JSONArray

[ 
    { 
    "user_id": "someValue" 
    } 
] 

Nó được lưu trong một String.

Tôi muốn chuyển đổi thành số JSONObject không thành công (vì hàm tạo giả định JSON bắt đầu bằng {). Vì điều này dường như không thể, tôi muốn chuyển đổi nó thành một JSONArray. Làm thế nào tôi có thể làm điều đó với SimpleJson?

+0

Tôi nghĩ tôi có thể giúp bạn. Xin vui lòng gửi một số thông tin thêm trong JSON .. rất ít của nó để cung cấp cho bạn mã chính xác .. tôi đã làm điều này trong dự án của tôi .. Cảm ơn bạn –

Trả lời

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

Bạn cần truyền tới JSONArray vì đó là những gì chuỗi chứa.

1

Đối với nhiệm vụ của bạn, bạn có thể sử dụng mã như dưới đây:

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

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

Và kết quả sẽ là 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

Nó phù hợp với tôi.

String jsonString = "[{\"user_id\": \"someValue\"}]"; 
    JSONArray jsonArray = new JSONArray(); 
    JSONParser parser = new JSONParser(); 
    try { 
     jsonArray = (JSONArray) parser.parse(js); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 
Các vấn đề liên quan