我有一些API提供的数据,例如这是数据,这只是数据的一部分,但这是我需要访问的部分
join
问题是如何访问category_image里面的cover_url里面的“url”,到目前为止,我已经能够从带有setter和getter以及适配器的Model类访问它,但我不知道如何我可以访问嵌套有setter和getter的数据我必须使用setter和getter来做,因为我有一个适配器类,我将所有数据放入de cardview然后我将它加载到片段中的回收器,请任何帮助都会很棒谢谢! 我的模型是这样的
Business.java
"logo_url_string": null,
"name": "google",
"category_image": {
"id": 24,
"cover_url": {
"url": "http://",
"icon_circle": {
"url": "http://"
}
我使用和适配器
访问该数据Adapter.java
public class Business {
private String name, description, email, website, logo_url_string,cover_url_string;
public Business(){}
public class Images{
}
public Business(String name, String logo_url_string) {
this.name = name;
this.logo_url_string = logo_url_string;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLogo_url_string() {
return logo_url_string;
}
public void setLogo_url_string(String logo_url_string) {
this.logo_url_string = logo_url_string;
}
答案 0 :(得分:0)
试试这个,
try {
JSONObject objResult = new JSONObject(response);
String name = objResult.getString("name");
JSONObject category_image_obj=objResult.getJSONObject("category_image");
JSONObject cover_url_obj=category_image_obj.getJSONObject("cover_url");
String url = cover_url_obj.getString("url");
ArrayList premiumsList =new ArrayList<>();
premiumsList.add(new Business(name,url);
//call adapter here
} catch (JSONException e) {
e.printStackTrace();
}
答案 1 :(得分:0)
首先你的json是错的。如果你的json是这样的,
"
试试这个
{
"logo_url_string":null,
"name":"google",
"category_image":{
"id":"24",
"cover_url":{
"url":"http://",
"icon_circle":{
"url":"http://"
}
}
}
}
此外,您可以使用this为getter和setter制作 嵌套的json。
答案 2 :(得分:0)
如果您的JSON
响应如下,那么您可以解析使用以下java代码。
{
"contacts": [
{
"id": "c200",
"name": "Android Developer",
"email": "android.developer@gmail.com",
"address": "xx-xx-xxxx,x - street, x - country",
"gender" : "male",
"phone": {
"mobile": "+91 0000000000",
"home": "00 000000",
"office": "00 000000"
}
}
]
}
Java代码,您可以在其中解析JSON
。我希望你能得到答案。
@Override
protected Void jsonParsing(String jsonString) {
ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();
// Store a json string in string variable
String jsonStr = jsonString;
Log.e(TAG, "Response from url: " + jsonStr);
if (jsonStr != null) {
try {
JSONObject jsonObj = new JSONObject(jsonStr);
// Getting JSON Array node
JSONArray contacts = jsonObj.getJSONArray("contacts");
// looping through All Contacts
for (int i = 0; i < contacts.length(); i++) {
JSONObject c = contacts.getJSONObject(i);
String id = c.getString("id");
String name = c.getString("name");
String email = c.getString("email");
String address = c.getString("address");
String gender = c.getString("gender");
// Phone node is JSON Object
JSONObject phone = c.getJSONObject("phone");
String mobile = phone.getString("mobile");
String home = phone.getString("home");
String office = phone.getString("office");
// tmp hash map for single contact
HashMap<String, String> contact = new HashMap<>();
// adding each child node to HashMap key => value
contact.put("id", id);
contact.put("name", name);
contact.put("email", email);
contact.put("mobile", mobile);
// adding contact to contact list
contactList.add(contact);
}
} catch (final JSONException e) {
Log.e(TAG, "Json parsing error: " + e.getMessage());
}
} else {
Log.e(TAG, "Couldn't get json from server.");
}
}
有关JSON Parsing
的更多详情,请read this documentation。其他read this tutorial ,了解如何解析JSON
。