2017-08-02 42 views
-1

我想从来自服务器的响应中提取JSON的内容作为字符串。 JSON中没有任何对象。 以下是JSON。在java中提取没有对象的JSON内容

{ 
"name": "some name", 
"user_id": "some_id", 
"some_other_values": "value", 
"some_other_values": "[email protected]", 
"some_other_values": "value", 
"some_other_values": "value", 
"some_other_values": "value" 
} 

任何帮助将不胜感激。

+0

是你想解析这个JSON吗? –

+0

是的,我想提取它的内容作为一个字符串,并将其值保存在Android的偏好。 @MaheshGawhane – nimi0112

+0

请检查我的答案。 –

回答

3

试试这个

try{ 
     JSONObject obj = new JSONObject(response); 
     String name= obj.getString("name"); 
     String user_id= obj.getString("user_id"); 
     String value= obj.getString("value"); 

    /
    }catch (JSONException e) { 
     e.printStackTrace(); 
    } 

在sharedpref数据保存这样

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE); 
Editor editor = pref.edit(); 
editor.putString("name", name);   
editor.commit(); // commit changes 
1
您从JSON响应字符串必须的getString

。使用这段代码来削减你的json。

JSONObject obj = new JSONObject(json); 
    String name= obj.getString("name") 
    String user_id= obj.getString("user_id") 
    String value= obj.getString("some_other_values") 
+0

@Nilesh Rathod其不复制粘贴。我张贴我自己的代码。 –

+0

添加'try-catch'块 –

1

为了避免try-catch代码为空指针异常,如果你不能确定键,那么你可以使用optString代替的getString他们都返回相同的结果字符串,但的getString会给如果空值该键不会存在于您的JSONObject中,而optString会给出空字符串,因为键不存在。试试这个:

JSONObject obj = new JSONObject(response); 
    String name= obj.optString("name") 
    String user_id= obj.optString("user_id") 
    String value= obj.optString("value")