2013-07-31 3 views
0

Я в ситуации, когда мне нужно прочитать данные json и вставить его в таблицу Sqlite. Но данные JSON в этом формате:
читать данные json в java

{ 
    "result": "success", 
    "data": { 
     "userId": "873", 
     "volume": "0.5", 
     "schoolId": "0", 
     "schoolName": "", 
     "preferredLanguageId": "1", 
     "fname": "robin", 
     "lname": "singh", 
     "email": "[email protected]", 
     "password": "password1111", 
     "isParent": "0", 
     "countryId": "254", 
     "stateId": "143", 
     "state": "", 
     "city": "san diego", 
     "coins": "0", 
     "zip": "", 
     "players": [] 
    } 
} 

JSONObject json = new JSONObject(jsonString); 
String uname=json.getString("fname"); 

Но я не в состоянии получить первое имя в строке uname.

+2

Какая ошибка? –

+0

Попробуйте 'JSONArray list = (JSONArray) jsonObject.get (" data ");' получить коллекцию всех свойств, вложенных в свойство данных. – rebeliagamer

ответ

5
String uname=json.getString("fname"); 

не работает, потому что fname свойство вложен в data собственности. Поэтому вам нужно сделать что-то вроде следующего:

String uname = json.getJSONObject("data").getString("fname"); 
+0

Не видел этого, пока код не был отформатирован ;-) –

+0

@stonedsquirrel :-) – jabclab

0

Вы должны сначала получить data собственность, а затем получить fname собственность. fname находится в собственности data.

1
String uname = json.getJSONObject("data").getString("fname"); 
0

Вам необходимо прочитать «данные» как объект JSON, а затем «fname» в виде строки.

Есть много зрителей в формате JSON в Интернете, это один из моих любимых:

http://jsonviewer.stack.hu/

String uname = json.getJSONObject("data").getString("fname"); 
0

Во-первых, вы должны получить data объект из JSON строки. Вот пример:

JSONObject json = new JSONObject(jsonString); 
JSONObject data = json.getJSONObject("data"); 
String uname = data.getString("fname"); 

Взгляните на полный пример here. Также here - это веб-инструмент для создания/редактирования JSON.

+0

Спасибо за ваше предложение :) – lalitbhagtani

Смежные вопросы