gpt4 book ai didi

java - 解析 JsonObjectRequest

转载 作者:行者123 更新时间:2023-11-30 10:24:09 27 4
gpt4 key购买 nike

我是 Android 和 JAVA 的新手,我正在尝试解析 json 响应。我知道如何解析 jsonarray 但不知道如何解析 jsonobject。有人能告诉我怎么做吗?以下是我的回复。

{"118":{"garment_color":"Blue","garment_name":"skjhkds","garment_price":"232"},"119":{"garment_color":"hjsadjjs","garment_name":"sdasd","garment_price":"23478"}}

这就是解析 jsonarray 的方式。

public void JSON_DATA_WEB_CALL(){

jsonArrayRequest = new JsonArrayRequest(GET_JSON_DATA_HTTP_URL,

new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
progressBar.setVisibility(View.INVISIBLE);
JSON_PARSE_DATA_AFTER_WEBCALL(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {

}
});

requestQueue = Volley.newRequestQueue(this);

requestQueue.add(jsonArrayRequest);
}

public void JSON_PARSE_DATA_AFTER_WEBCALL(JSONArray array){

for(int i = 0; i<array.length(); i++) {

GetDataAdapter GetDataAdapter2 = new GetDataAdapter();

JSONObject json = null;
try {

json = array.getJSONObject(i);

GetDataAdapter2.setImageTitleNamee(json.getString(JSON_IMAGE_TITLE_NAME));
//GetDataAdapter2.setImageServerLarger(json.getString(JSON_IMAGE_LARGER));

GetDataAdapter2.setImageServerUrl(json.getString(JSON_IMAGE_URL));
GetDataAdapter2.setMrp_price(json.getString(JSON_MRP_PRICE));
GetDataAdapter2.setDisc_price(json.getString(JSON_DISC_PRICE));

} catch (JSONException e) {

e.printStackTrace();
}
GetDataAdapter1.add(GetDataAdapter2);
}

recyclerViewadapter = new RecyclerViewAdapter(GetDataAdapter1, this);

recyclerView.setAdapter(recyclerViewadapter);
}

请有人帮忙。谢谢。

最佳答案

在我看来,使用Gson库,你在其中给它 json 对象/数组/字符串,它会自动将其解析为 java 对象。请注意,您必须使用适当的字段定义 java 类。

编辑:所以这里有一个符合建议指南的答案:

首先创建您的模型类,就像您将从服务器接收它们一样:

public class MyServerObject {
MyGarment jsonKeyName;
}

public class MyGarment {
String garment_color;
String garment_name;
String garment_price;
}

接下来,在收到你的json字符串后,使用Gson解析它:

Gson gson = new Gson();
String json= "{"jsonKeyName":{"garment_color":"Blue","garment_name":"skjhkds","garment_price":"232"};

MyServerObject serverObject = gson.fromJson(json, MyServerObject.class);

现在,您可以从服务器对象访问您的 Garment 对象,并正确解析所有值。另请注意,如果您收到一个 json 数组,您可以将该对象作为列表添加到您的 MyServerObject.class 中。

希望这对您有所帮助。

关于java - 解析 JsonObjectRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46664493/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com