Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用gson解析jsonarray中的多个json对象_Android_Json_Gson - Fatal编程技术网

Android 使用gson解析jsonarray中的多个json对象

Android 使用gson解析jsonarray中的多个json对象,android,json,gson,Android,Json,Gson,如何使用gson?解析此结果数组?。我被困了两天,无法解析。 在其他一些地方,我发现我需要定义一个顶级容器,但我不知道如何完成它的定义 results:[ { "SupplierCatalog": { "supplier_catalog_id": "139", "distributor_id": "57", "distributor_asking_price": "999.99", "supplier_id": null, "product_name"

如何使用gson?解析此结果数组?。我被困了两天,无法解析。 在其他一些地方,我发现我需要定义一个顶级容器,但我不知道如何完成它的定义

results:[
{
  "SupplierCatalog": {
    "supplier_catalog_id": "139",
    "distributor_id": "57",
    "distributor_asking_price": "999.99",
    "supplier_id": null,
    "product_name": "jjjjjjjj j j j j j j  jj j jjjjjjjjjjjj",
    "product_description": "kkkkkkkkkkkkkk k k  k k"
  },
  "image_details": {
    "isCustomImageProvided": 0,
    "isImageUploadedTo": 1,

  }
},
{
  "SupplierCatalog": {
    "supplier_catalog_id": "138",
    "distributor_id": "57",
    "distributor_asking_price": "69.25",
    "supplier_id": null,
    "product_name": "i+am+editing+this",
    "product_description": "using+wait+for+it..........+the+API"
  },
  "image_details": {
    "isCustomImageProvided": 1,
    "isImageUploadedTo": 1,

  }
},
{
  "SupplierCatalog": {
    "supplier_catalog_id": "137",
    "distributor_id": "57",
    "distributor_asking_price": "69.69",
    "supplier_id": null,
    "product_name": "Supplier Created Product Sample",
    "product_description": "This is a sample description"
  },
  "image_details": {
    "isCustomImageProvided": 1,
    "isImageUploadedTo": 1,

  }
},
{
  "SupplierCatalog": {
    "supplier_catalog_id": "136",
    "distributor_id": "57",
    "distributor_asking_price": "45.58",
    "supplier_id": null,
    "product_name": "Distributor Created Product Sample",
    "product_description": "Blah Blah Blah"
  },
  "image_details": {
    "isCustomImageProvided": 1,
    "isImageUploadedTo": 1,

  }
},
{
  "SupplierCatalog": {
    "supplier_catalog_id": "135",
    "distributor_id": "57",
    "distributor_asking_price": "99.99",
    "supplier_id": null,
    "product_name": "Distributor Created Product Sample",
    "product_description": "In publishing and graphic design, lorem ipsum is a filler text commonly used to demonstrate the graphic elements of a document or visual presentation. Replacing meaningful content that could be distracting with placeholder text may allow viewers to focus on graphic aspects such as font, typography, and page layout.\r\n\r\nThe lorem ipsum text is typically a scrambled section of De finibus bonorum et malorum, a 1st-century BC Latin text by Cicero, with words altered, added, and removed such that it is nonsensical, improper Latin.\r\n\r\nA variation of the ordinary lorem ipsum text has been used in typesetting since the 1960s or earlier, when it was popularized by advertisements for Letraset transfer sheets. It was introduced to the Information Age in the mid-1980s by Aldus Corporation, which employed it in graphics and word processing templates for its desktop publishing program, PageMaker, for the Apple Macintosh.[1]"
  },
  "image_details": {
    "isCustomImageProvided": 1,
    "isImageUploadedTo": 1,

  }
  }
]
我不能用两个类来解析。所以请帮忙。
在那之后,我如何得到个人的get方法。谢谢。

下面是一个结构的示例,根据您的json结果,它可能会略有变化

package com.example.test;

import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;

public class MainActivity extends Activity {

    public static final String TAG = MainActivity.class.getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String json = "{results:[{\"SupplierCatalog\":{\"supplier_catalog_id\": \"139\",\"distributor_id\": \"57\",\"distributor_asking_price\": \"999.99\",\"supplier_id\": null,\"product_name\": \"jjjjjjjj j j j j j j  jj j jjjjjjjjjjjj\",\"product_description\": \"kkkkkkkkkkkkkk k k  k k\"},\"image_details\": {\"isCustomImageProvided\": 0,\"isImageUploadedTo\": 1}}]}";

        JsonParseResult jsonParseResult = new Gson().fromJson(json, JsonParseResult.class);

        if (jsonParseResult != null && jsonParseResult.getResult() != null) {
            for (Result result : jsonParseResult.getResult()) {
                Log.d(TAG, "Result: " + result.toString());
            }
        }
    }

    public class JsonParseResult {

        @SerializedName("results")
        private List<Result> results;

        public JsonParseResult(List<Result> results) {
            super();
            this.results = results;
        }

        public List<Result> getResult() {
            return results;
        }

        public void setResult(List<Result> results) {
            this.results = results;
        }

    }

    public class Result {

        @SerializedName("SupplierCatalog")
        private SupplierCatalog supplierCatalog;

        @SerializedName("image_details")
        private ImageDetails imageDetails;

        public Result(SupplierCatalog supplierCatalog, ImageDetails imageDetails) {
            super();
            this.supplierCatalog = supplierCatalog;
            this.imageDetails = imageDetails;
        }

        public SupplierCatalog getSupplierCatalog() {
            return supplierCatalog;
        }

        public void setSupplierCatalog(SupplierCatalog supplierCatalog) {
            this.supplierCatalog = supplierCatalog;
        }

        public ImageDetails getImageDetails() {
            return imageDetails;
        }

        public void setImageDetails(ImageDetails imageDetails) {
            this.imageDetails = imageDetails;
        }

        @Override
        public String toString() {
            return "Result [supplierCatalog=" + supplierCatalog + ", imageDetails=" + imageDetails + "]";
        }

    }

    public class SupplierCatalog {

        @SerializedName("supplier_catalog_id")
        private Integer supplierCatalogId;

        @SerializedName("distributor_id")
        private Integer distributorId;

        @SerializedName("distributor_asking_price")
        private Double distributorAskingPrice;

        @SerializedName("supplier_id")
        private Integer supplierId;

        @SerializedName("product_name")
        private String productName;

        @SerializedName("product_description")
        private String productDescription;

        public SupplierCatalog(Integer supplierCatalogId, Integer distributorId, Double distributorAskingPrice, Integer supplierId, String productName, String productDescription) {
            super();
            this.supplierCatalogId = supplierCatalogId;
            this.distributorId = distributorId;
            this.distributorAskingPrice = distributorAskingPrice;
            this.supplierId = supplierId;
            this.productName = productName;
            this.productDescription = productDescription;
        }

        public Integer getSupplierCatalogId() {
            return supplierCatalogId;
        }

        public void setSupplierCatalogId(Integer supplierCatalogId) {
            this.supplierCatalogId = supplierCatalogId;
        }

        public Integer getDistributorId() {
            return distributorId;
        }

        public void setDistributorId(Integer distributorId) {
            this.distributorId = distributorId;
        }

        public Double getDistributorAskingPrice() {
            return distributorAskingPrice;
        }

        public void setDistributorAskingPrice(Double distributorAskingPrice) {
            this.distributorAskingPrice = distributorAskingPrice;
        }

        public Integer getSupplierId() {
            return supplierId;
        }

        public void setSupplierId(Integer supplierId) {
            this.supplierId = supplierId;
        }

        public String getProductName() {
            return productName;
        }

        public void setProductName(String productName) {
            this.productName = productName;
        }

        public String getProductDescription() {
            return productDescription;
        }

        public void setProductDescription(String productDescription) {
            this.productDescription = productDescription;
        }

        @Override
        public String toString() {
            return "SupplierCatalog [supplierCatalogId=" + supplierCatalogId + ", distributorId=" + distributorId + ", distributorAskingPrice=" + distributorAskingPrice + ", supplierId=" + supplierId + ", productName=" + productName + ", productDescription=" + productDescription + "]";
        }

    }

    public class ImageDetails {

        @SerializedName("isCustomImageProvided")
        private Integer isCustomImageProvided;

        @SerializedName("isImageUploadedTo")
        private Integer isImageUploadedTo;

        public ImageDetails(Integer isCustomImageProvided, Integer isImageUploadedTo) {
            super();
            this.isCustomImageProvided = isCustomImageProvided;
            this.isImageUploadedTo = isImageUploadedTo;
        }

        public Integer getIsCustomImageProvided() {
            return isCustomImageProvided;
        }

        public void setIsCustomImageProvided(Integer isCustomImageProvided) {
            this.isCustomImageProvided = isCustomImageProvided;
        }

        public Integer getIsImageUploadedTo() {
            return isImageUploadedTo;
        }

        public void setIsImageUploadedTo(Integer isImageUploadedTo) {
            this.isImageUploadedTo = isImageUploadedTo;
        }

        @Override
        public String toString() {
            return "ImageDetails [isCustomImageProvided=" + isCustomImageProvided + ", isImageUploadedTo=" + isImageUploadedTo + "]";
        }

    }
}
package com.example.test;
导入java.util.List;
导入android.app.Activity;
导入android.os.Bundle;
导入android.util.Log;
导入com.google.gson.gson;
导入com.google.gson.annotations.SerializedName;
公共类MainActivity扩展了活动{
公共静态最终字符串标记=MainActivity.class.getSimpleName();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
字符串json=“{results:[{\\'SupplierCatalog\”:{“supplier\u catalog\u id\”:“139\”,“distributor\u id\”:“57\”,“distributor\u asking\u price\”:“999.99\”,“supplier\u id\”:null,“product\u name\”:“JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJisImageUploadedTo\“:1}}]}”;
JsonParseResult JsonParseResult=new Gson().fromJson(json,JsonParseResult.class);
if(jsonParseResult!=null&&jsonParseResult.getResult()!=null){
for(结果:jsonParseResult.getResult()){
Log.d(标记“Result:+Result.toString());
}
}
}
公共类JsonParseResult{
@SerializedName(“结果”)
私人名单结果;
公共JsonParseResult(列出结果){
超级();
这个结果=结果;
}
公共列表getResult(){
返回结果;
}
公共void setResult(列出结果){
这个结果=结果;
}
}
公开课成绩{
@SerializedName(“供应商目录”)
私人供应商目录供应商目录;
@SerializedName(“图像详细信息”)
私人影像详情;
公共结果(供应商目录供应商目录,图像详细信息图像详细信息){
超级();
this.supplierCatalog=供应商目录;
this.imageDetails=imageDetails;
}
公共供应商目录getSupplierCatalog(){
返回供应商目录;
}
公共作废设置供应商目录(供应商目录供应商目录){
this.supplierCatalog=供应商目录;
}
公共ImageDetails getImageDetails(){
返回图像详细信息;
}
public void setImageDetails(ImageDetails ImageDetails){
this.imageDetails=imageDetails;
}
@凌驾
公共字符串toString(){
返回“结果[supplierCatalog=“+supplierCatalog+”,imageDetails=“+imageDetails+””;
}
}
公共类供应商目录{
@序列化名称(“供应商目录id”)
私有整数供应商catalogid;
@SerializedName(“分销商id”)
私有整数分发器;
@序列化名称(“经销商询问价格”)
私人双分销商价格;
@序列化名称(“供应商id”)
私有整数供应商ID;
@序列化名称(“产品名称”)
私有字符串产品名称;
@序列化名称(“产品描述”)
私有字符串描述;
公共供应商目录(整数供应商目录ID、整数分销商ID、双分销商SkingPrice、整数供应商ID、字符串产品名称、字符串产品描述){
超级();
this.supplierCatalogId=supplierCatalogId;
this.distributorId=distributorId;
this.distributorAskingPrice=distributorAskingPrice;
this.supplierId=供应商id;
this.productName=productName;
this.productDescription=productDescription;
}
公共整数getSupplierCatalogId(){
返回供应商目录ID;
}
public void setSupplierCatalogId(整数supplierCatalogId){
this.supplierCatalogId=supplierCatalogId;
}
公共整数getDistributorId(){
收益分配;
}
public void setDistributorId(整数distributorId){
this.distributorId=distributorId;
}
公共双getDistributorAskingPrice(){
退货分销价格;
}
公共无效设置distributorAskingPrice(双distributorAskingPrice){
this.distributorAskingPrice=distributorAskingPrice;
}
公共整数getSupplierId(){
返回供应商ID;
}
public void setSupplierId(整数supplierId){
this.supplierId=供应商id;
}
公共字符串getProductName(){
返回产品名称;
}
公共无效setProductName(字符串productName){
this.productName=productName;
}
公共字符串getProductDescription(){
退货产品说明;
}
public void setProductDescription(字符串productDescription){
this.productDescription=productDescription;
}
@凌驾
公共字符串toString(){
返回“SupplierCatalog[supplierCatalogId=“+supplierCatalogId+”,distributorId=“+distributorId+”,distributorAskingPrice=“+distributorAskingPrice+”,supplierId=“+supplierId+”,productName=“+productName+”,productDescription=“+productDescription+””;
}
}
公共类图像详细信息{
@SerializedName(“isCustomImageProvided”)
私有整数自定义项