如何在android studio中的变量中存储json值?

时间:2016-05-21 08:47:58

标签: android

{
  "server_response": [
    {
      "Pump": "Sajha",
      "Available": "1"
    },
    {
      "Pump": "Bhadrakali",
      "Available": "0"
    },
    {
      "Pump": "Kumaripati",
      "Available": "0"
    },
    {
      "Pump": "Balkhu",
      "Available": "1"
    }
  ]
}

我有上面的json格式,我想将它们存储在变量中以便以后用于其他目的。

5 个答案:

答案 0 :(得分:0)

作为临时对象,您可以使用Json Object:

JSONObject my_json_holder = new JSONObject(your string name);

作为临时字符串,只需将其分配给字符串即可。但是,您必须用(\“)

替换所有双引号(”)
String temp= "your json here"

显然很长一段时间,你必须将你的字符串存储在数据库中。

答案 1 :(得分:0)

String json = "{\"server_response\":[{\"Pump\":\"Sajha\",\"Available\":\"1\"},{\"Pump\":\"Bhadrakali\",\"Available\":\"0\"},{\"Pump\":\"Kumaripati\",\"Available\":\"0\"},{\"Pump\":\"Balkhu\",\"Available\":\"1\"}]}";
    try {
        JSONObject jsonObj = new JSONObject(json);
        JSONArray jsonAry = jsonObj.getJSONArray("server_response");
        for(int i = 0 ; i < jsonAry.length() ; i ++){
            JSONObject obj = jsonAry.getJSONObject(i);
            String pump = obj.getString("Pump");
            String availbale = obj.getString("Available");
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }

答案 2 :(得分:0)

创建两个类,如下所示

public class ResponseBlahBlah
{
    @SerializedName("server_response")
    public PumpBlahBlahClass[] pumpObject;
}

public class PumpBlahBlahClass
{
@SerializedName("Pump")
public String pump;

@SerializedName("Available")
public String available;

public String getPump()
{
    return pump;
}

public void setPump(String pump)
{
    this.pump = pump;
}

public String getAvailable()
{
    return available;
}

public void setAvailable(String available)
{
    this.available = available;
}
}

在您的代码中解析如下

ResponseBlahBlah = new Gson().fromJson(response, ResponseBlahBlah.class);

答案 3 :(得分:0)

您可以从下面的代码中获取引用,将json对象存储在变量中:

               public void putJson(Context context, JSONObject jsonObject) {
                        SharedPreferences settings;
                        Editor editor;

                        settings = context.getSharedPreferences(PREFS_NAME,
                                Context.MODE_PRIVATE);
                        editor = settings.edit();

                        editor.putString("JSONString",        jsonObject.toString());

                        editor.commit();
                    }

答案 4 :(得分:0)

Use this link for creating POJO online

关于此链接的好处是,您只需要复制并粘贴json响应。 然后您可以选择将其转换为Jackson / Gson / none