2016-02-25 13 views
5

otrzymuję następujący JSON:simplejson: String do JSONArray

[ 
    { 
    "user_id": "someValue" 
    } 
] 

To zapisaną wewnątrz String.

Chciałbym przekonwertować go na JSONObject, który nie powiedzie się (ponieważ konstruktor zakłada JSON na początek z {). Jak to nie wydaje się być możliwe Chciałbym przekształcić go w JSONArray. Jak mogę to zrobić z simplejson?

+0

Myślę, że mogę ci pomóc. Proszę pisać trochę więcej informacji w JSON .. jej bardzo niewiele, aby zapewnić dokładne kodu .. I zrobili to w moim projekcie .. dziękuję –

Odpowiedz

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

Musisz rzucić do JSONArray, ponieważ to właśnie zawiera łańcuch.

1

o zadaniu można użyć kodu jak ryk:

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

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

oraz wynik byłby 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

To działa dla mnie.

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