2016-04-08 11 views
0

私はgsonを使ってmysqlから私のjsonを読んでいます。しかし、私はアプリを実行すると、それはnullを返します。私はそれが働いている同じmysqlでローカルでアプリケーションを実行するとき、私はエラーについて何を知っていない。しかし、私はホストで実行すると、それはnullを返します。私を助けてください!エラーfromJsonを使用してオブジェクトを逆シリアル化しますか?

{"group": 
[{"category_id":"15","title":"Zing card - Zing xu"}, 
{"category_id":"14","title":"Th\u1ebb Gate - FPT"}, 
{"category_id":"20","title":"Vcoin - VTC - Audition"}, 
{"category_id":"21","title":"Garena"}, 
{"category_id":"32","title":"Mobay card"}, 
{"category_id":"33","title":"BIT Card"}, 
{"category_id":"34","title":"Oncash"}], 
"product": 
[ 
{"id":"39","group_id":"22","name":"Oncash","price":{"USD":9,"AUD":12.756909992913,"VND":195000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/oncach-e3bb9fa75d.gif","sku":"ONCASH200"}, 
{"id":"87","group_id":"33","name":"TH\u1eba BIT 5 TRI\u1ec6U","price":{"USD":252.42,"AUD":357.7888022679,"VND":4950000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/uwrki7jx-6198ed1975.gif","sku":"Bit5M"}, 
{"id":"88","group_id":"33","name":"TH\u1eba BIT 2 TRI\u1ec6U","price":{"USD":100.98,"AUD":143.13253012048,"VND":1980000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/91intahd-b42a80c01d.gif","sku":"Bit2M"}, 
{"id":"89","group_id":"33","name":"TH\u1eba BIT 1 TRI\u1ec6U","price":{"USD":50.48,"AUD":71.552090715804,"VND":990000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/nwd03knt-264a8d02fe.gif","sku":"Bit1M"}, 
{"id":"92","group_id":"33","name":"TH\u1eba BIT 500K","price":{"USD":25.23,"AUD":35.761871013466,"VND":495000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/8hxdajdl-9c8001602e.gif","sku":"Bit500K"}, 
{"id":"90","group_id":"33","name":"TH\u1eba BIT 200K","price":{"USD":10.08,"AUD":14.287739192062,"VND":198000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/ql3cn6iu-b4d8c3b407.gif","sku":"Bit200K"}, 
{"id":"91","group_id":"33","name":"TH\u1eba BIT 100K","price":{"USD":5.03,"AUD":7.1296952515946,"VND":100000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/oupebhyo-0a61ca65b2.gif","sku":"Bit100K"}, 
{"id":"93","group_id":"33","name":"TH\u1eba BIT 50K","price":{"USD":2.69,"AUD":3.8128986534373,"VND":50000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/zvznjqnz-52c80ccfe6.gif","sku":"Bit50K"}, 
{"id":"121","group_id":"33","name":"Th\u1ebb BIT 20k","price":{"USD":1.06,"AUD":1.5024805102764,"VND":20000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/the-bit-20k-6b4035c02d.gif","sku":"Bit20K"}, 
{"id":"80","group_id":"32","name":"TH\u1eba MOBAY 500K","price":{"USD":25.23,"AUD":35.761871013466,"VND":495000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/u5jywcz0-55285adfd7.gif","sku":"Mobay500K"}, 
{"id":"83","group_id":"32","name":"TH\u1eba MOBAY 200K","price":{"USD":10.08,"AUD":14.287739192062,"VND":198000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/db8f1s3y-170821fbe1.gif","sku":"Mobay200K"}, 
{"id":"82","group_id":"32","name":"TH\u1eba MOBAY 100K","price":{"USD":5.03,"AUD":7.1296952515946,"VND":100000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/57mzcwfk-40f4d60542.gif","sku":"Mobay100K"}, 
{"id":"85","group_id":"32","name":"TH\u1eba MOBAY 50K","price":{"USD":2.69,"AUD":3.8128986534373,"VND":50000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/hf8jilab-11ed516444.gif","sku":"Mobay50K"}, 
{"id":"84","group_id":"32","name":"TH\u1eba MOBAY 20K","price":{"USD":1.06,"AUD":1.5024805102764,"VND":20000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/pvrh3jey-dd0894e849.gif","sku":"Mobay20K"}, 
{"id":"53","group_id":"20","name":"Vcoin 200k","price":{"USD":10.08,"AUD":14.287739192062,"VND":198000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/v200-61d2763add.gif","sku":"VNS-VCOIN200K"}, 
{"id":"37","group_id":"20","name":"Vcoin 20k","price":{"USD":1.06,"AUD":1.5024805102764,"VND":20000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/v20-e0f120eefd.gif","sku":"vcoin20k"}, 
{"id":"118","group_id":"20","name":"Vcoin 1 tri\u1ec7u","price":{"USD":50.48,"AUD":71.552090715804,"VND":990000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/rpwzfkfy-655e715791.gif","sku":"VCOIN1TRIEU"}, 
{"id":"45","group_id":"14","name":"Gate 5 tri\u1ec7u","price":{"USD":252.42,"AUD":357.7888022679,"VND":4950000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/gate5trieu-c43aa69716.gif","sku":"GATE5000k"}, 
{"id":"44","group_id":"14","name":"Gate 2 tri\u1ec7u","price":{"USD":100.98,"AUD":143.13253012048,"VND":1980000},"images":"http:\/\/vnsupermark.com\/uploads\/catalog\/gate2trieu-091d584fce.gif","sku":"thegate2trieu"} 
]} 

関数の戻りmyjson

public ResListProduct getListProducts(Context context) { 
     Gson gson = new Gson(); 
     ResListProduct resListProduct = null; 
     resListProduct = new ResListProduct(); 

     try { 

      String urlApi = Store.getInstances(context).getA(); 
      // URL 

      HashMap<String, String> params = new HashMap<String, String>(); 
      int i = MainActivity.getVariable(); 
      // all product 

      if (i == 1) { 
       params.put("command", "get_products"); 
      } 
      if (i > 1) { 
       ArrayList<String> s = new ArrayList<String>(); 
       s = MainActivity.getnamegrouptrem(); 
       for (int j = 0; j < i - 1; j++) { 
        String[] titleActionbars = s.toArray(new String[s.size()]); 
        params.put("command", "get_product"); 
        params.put("cagory", titleActionbars[j]); 
       } 

       // if (i == 9) { 
       // params.put("command", "get_product"); 
       // params.put("cagory", String.valueOf(21)); 
       // }// test autogen memu 
      } 

      InputStream stream = retrieveStream(urlApi, params, false, null, 
        null); 
      Reader reader = new InputStreamReader(stream); 
      //Printf JSON 
//   BufferedReader in = new BufferedReader(reader); 
//   String read; 
//   while ((read = in.readLine()) != null) {     
//    System.out.println("JSON" + read); 
//   } 



      // parse json to get list product 
      resListProduct = gson.fromJson(reader, ResListProduct.class); 



     } catch (Exception e) { 
      sendException(context, 
        "getListProduct: " + Log.getStackTraceString(e)); 
     } 

     return resListProduct; 
    } 

クラスオブジェクト

public class ResListProduct { 
     @SerializedName("product") 
     private List<Product> products; 
     @SerializedName("group") 
     private List<GroupProduct> groups; 

     public ResListProduct() { 
     } 

     public List<Product> getProducts() { 
      return products; 
     } 

     public List<GroupProduct> getGroups() { 
      return groups; 
     } 

    } 

public class Product implements Serializable{ 
    private static final long serialVersionUID = 6061052006970796100L; 

    @SerializedName("id") 
    private String idProduct; 
    @SerializedName("group_id") 
    private String groupId; 
    @SerializedName("name") 
    private String nameProduct; 
    @SerializedName("price") 
    private Price priceProduct; 
    @SerializedName("images") 
    private String urlImagesProduct; 
    @SerializedName("sku") 
    private String skuProduct; 
    @SerializedName("names") 
    private String names; 

    // quantity for each product 
    private int quantity; 

    // title group product 
    private String titleGroup; 

    public Product(String titleGroup) { 
     this.titleGroup = titleGroup; 
    } 

    public String getIdProduct() { 
     return idProduct; 
    } 

    public String getGroupId() { 
     return groupId; 
    } 

    public String getNameProduct() { 
     return nameProduct; 
    } 

    public Price getPriceProduct() { 
     return priceProduct; 
    } 

    public String getUrlImagesProduct() { 
     return urlImagesProduct; 
    } 

    public String getSkuProduct() { 
     return skuProduct; 
    } 

    public int getQuantity() { 
     return quantity; 
    } 

    public void setQuantity(int quantity) { 
     this.quantity = quantity; 
    } 

    public String getTitleGroup() { 
     return titleGroup; 
    } 

    public String getNames() { 
     return names; 
    } 

    public void setNames(String names) { 
     this.names = names; 
    } 


} 

public class GroupProduct { 
    @SerializedName("category_id") 
    public String groupId; 
    @SerializedName("title") 
    public String name; 

    public String getName() { 
     return name; 
    } 

    public GroupProduct() { 
    } 

    public String getGroupId() { 
     return groupId; 
    } 

    public void setGroupId(String groupId) { 
     this.groupId = groupId; 
    } 


} 

答えて

0

は、ここでは受け入れ答えはあなたを助けるでしょうか?基本的には、ストリームが2回消費されるため、読者オブジェクトには解析するためのものはありません。 Parsing json directly using input stream

+0

はい、私はホストで同じデータを実行すると、それは動作しています。私はjson okを読んだが、解析するとnullに戻る。 –

関連する問題