2016-06-07 130 views
0

我的反应是,com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期BEGIN_ARRAY但STRING在第2行第1条路径

[ 
{ 
"category_name":"Vaporizers", 
"categoryid":"3", 
"status":"1", 
"description":"<div class= bennar_out_div >\r\n<div class= container >\r\n<div class= viporizers_text >\r\n<div class= viporizers_text_left >\r\n<div class= viporizers_head >Vaporizers</div>\r\n<div class= viporizers_text1 >Whether you&rsquo;re looking for a portable or a desktop, GroovyVapes offers a wide variety of the highest quality vaporizers available. Every vaporizer that is part of the GroovyVapes lineup is thoroughly evaluated and tested and reviewed by our team to ensure its quality, design, and user-satisfaction.</div>\r\n</div>\r\n<div class= viporizers_text_right >FREE SHIPPING <span>over&nbsp;</span>&pound;85.00<br />NEWEST MODELS<br />PRIVATE &amp; SECURE</div>\r\n</div>\r\n</div>\r\n</div>\r\n<div style= clear: both; >&nbsp;</div>", 
"image":false, 
"count":0, 
"subcategory_name":[ 
{ 
"sub_category_name":"Portable", 
"sub_categoryid":"10", 
"status":"1", 
"description":"<div class= bennar_out_div >\r\n<div class= container >\r\n<div class= viporizers_text >\r\n<div class= viporizers_text_left >\r\n<div class= viporizers_head >PORTABLE</div>\r\n<div class= viporizers_text1 >Portable Vaporizers are best used for vaping on the go. Most portable vaporizers are battery powered, with many being easily chargeable via USB.</div>\r\n</div>\r\n<div class= viporizers_text_right >FREE SHIPPING <span>over&nbsp;</span>&pound;85.00<br />NEWEST MODELS<br />PRIVATE &amp; SECURE</div>\r\n</div>\r\n</div>\r\n</div>\r\n<div style= clear: both; >&nbsp;</div>", 
"image":"http://www.groovyvapes.co.uk/media/catalog/category/portable.png", 
"count":26 
}} 
] 

mycode的:

ArrayList<BrandAccessoriesResponseModel> mBrandAccessoriesResponseModelArrayList = new ArrayList<BrandAccessoriesResponseModel>(); 

Gson gson = new Gson(); 
      Type listType = new TypeToken<List<BrandAccessoriesResponseModel>>() {}.getType(); 
      mBrandAccessoriesResponseModelArrayList = gson.fromJson(result.toString(), listType); 
+0

的可能的复制[Gson预计BEGIN \ _ARRAY b ut是STRING在第1行第62列](http://stackoverflow.com/questions/16380367/gson-expected-begin-array-but-was-string-at-line-1-column-62) – Bharatesh

回答

0

请再次查看您的代码并调用API,您的代码是正确的,不需要更改,。再次检查您的调用API。

0

一个有效的JSON应该是这样的:

[ 
    { 
     "category_name":"Vaporizers", 
     "categoryid":"3", 
     "status":"1", 
     "description":"<div class= bennar_out_div >\r\n<div class= container >\r\n<div class= viporizers_text >\r\n<div class= viporizers_text_left >\r\n<div class= viporizers_head >Vaporizers</div>\r\n<div class= viporizers_text1 >Whether you&rsquo;re looking for a portable or a desktop, GroovyVapes offers a wide variety of the highest quality vaporizers available. Every vaporizer that is part of the GroovyVapes lineup is thoroughly evaluated and tested and reviewed by our team to ensure its quality, design, and user-satisfaction.</div>\r\n</div>\r\n<div class= viporizers_text_right >FREE SHIPPING <span>over&nbsp;</span>&pound;85.00<br />NEWEST MODELS<br />PRIVATE &amp; SECURE</div>\r\n</div>\r\n</div>\r\n</div>\r\n<div style= clear: both; >&nbsp;</div>", 
     "image":false, 
     "count":0, 
     "subcategory_name": 
     [ 
      { 
       "sub_category_name":"Portable", 
       "sub_categoryid":"10", 
       "status":"1", 
       "description":"<div class= bennar_out_div >\r\n<div class= container >\r\n<div class= viporizers_text >\r\n<div class= viporizers_text_left >\r\n<div class= viporizers_head >PORTABLE</div>\r\n<div class= viporizers_text1 >Portable Vaporizers are best used for vaping on the go. Most portable vaporizers are battery powered, with many being easily chargeable via USB.</div>\r\n</div>\r\n<div class= viporizers_text_right >FREE SHIPPING <span>over&nbsp;</span>&pound;85.00<br />NEWEST MODELS<br />PRIVATE &amp; SECURE</div>\r\n</div>\r\n</div>\r\n</div>\r\n<div style= clear: both; >&nbsp;</div>", 
       "image":"http://www.groovyvapes.co.uk/media/catalog/category/portable.png", 
       "count":26 
     } 
     ] 
    } 
    ] 

现在,使用jsonschema2pojo:
jsonschema2pojo

你可以有以下几种:

public class Example { 

@SerializedName("category_name") 
@Expose 
private String categoryName; 
@SerializedName("categoryid") 
@Expose 
private String categoryid; 
@SerializedName("status") 
@Expose 
private String status; 
@SerializedName("description") 
@Expose 
private String description; 
@SerializedName("image") 
@Expose 
private Boolean image; 
@SerializedName("count") 
@Expose 
private Integer count; 
@SerializedName("subcategory_name") 
@Expose 
private List<SubcategoryName> subcategoryName = new ArrayList<SubcategoryName>(); 

/** 
* 
* @return 
* The categoryName 
*/ 
public String getCategoryName() { 
return categoryName; 
} 

/** 
* 
* @param categoryName 
* The category_name 
*/ 
public void setCategoryName(String categoryName) { 
this.categoryName = categoryName; 
} 

/** 
* 
* @return 
* The categoryid 
*/ 
public String getCategoryid() { 
return categoryid; 
} 

/** 
* 
* @param categoryid 
* The categoryid 
*/ 
public void setCategoryid(String categoryid) { 
this.categoryid = categoryid; 
} 

/** 
* 
* @return 
* The status 
*/ 
public String getStatus() { 
return status; 
} 

/** 
* 
* @param status 
* The status 
*/ 
public void setStatus(String status) { 
this.status = status; 
} 

/** 
* 
* @return 
* The description 
*/ 
public String getDescription() { 
return description; 
} 

/** 
* 
* @param description 
* The description 
*/ 
public void setDescription(String description) { 
this.description = description; 
} 

/** 
* 
* @return 
* The image 
*/ 
public Boolean getImage() { 
return image; 
} 

/** 
* 
* @param image 
* The image 
*/ 
public void setImage(Boolean image) { 
this.image = image; 
} 

/** 
* 
* @return 
* The count 
*/ 
public Integer getCount() { 
return count; 
} 

/** 
* 
* @param count 
* The count 
*/ 
public void setCount(Integer count) { 
this.count = count; 
} 

/** 
* 
* @return 
* The subcategoryName 
*/ 
public List<SubcategoryName> getSubcategoryName() { 
return subcategoryName; 
} 

/** 
* 
* @param subcategoryName 
* The subcategory_name 
*/ 
public void setSubcategoryName(List<SubcategoryName> subcategoryName) { 
this.subcategoryName = subcategoryName; 
} 

} 
-----------------------------------com.example.SubcategoryName.java----------------------------------- 

package com.example; 

import javax.annotation.Generated; 
import com.google.gson.annotations.Expose; 
import com.google.gson.annotations.SerializedName; 

@Generated("org.jsonschema2pojo") 
public class SubcategoryName { 

@SerializedName("sub_category_name") 
@Expose 
private String subCategoryName; 
@SerializedName("sub_categoryid") 
@Expose 
private String subCategoryid; 
@SerializedName("status") 
@Expose 
private String status; 
@SerializedName("description") 
@Expose 
private String description; 
@SerializedName("image") 
@Expose 
private String image; 
@SerializedName("count") 
@Expose 
private Integer count; 

/** 
* 
* @return 
* The subCategoryName 
*/ 
public String getSubCategoryName() { 
return subCategoryName; 
} 

/** 
* 
* @param subCategoryName 
* The sub_category_name 
*/ 
public void setSubCategoryName(String subCategoryName) { 
this.subCategoryName = subCategoryName; 
} 

/** 
* 
* @return 
* The subCategoryid 
*/ 
public String getSubCategoryid() { 
return subCategoryid; 
} 

/** 
* 
* @param subCategoryid 
* The sub_categoryid 
*/ 
public void setSubCategoryid(String subCategoryid) { 
this.subCategoryid = subCategoryid; 
} 

/** 
* 
* @return 
* The status 
*/ 
public String getStatus() { 
return status; 
} 

/** 
* 
* @param status 
* The status 
*/ 
public void setStatus(String status) { 
this.status = status; 
} 

/** 
* 
* @return 
* The description 
*/ 
public String getDescription() { 
return description; 
} 

/** 
* 
* @param description 
* The description 
*/ 
public void setDescription(String description) { 
this.description = description; 
} 

/** 
* 
* @return 
* The image 
*/ 
public String getImage() { 
return image; 
} 

/** 
* 
* @param image 
* The image 
*/ 
public void setImage(String image) { 
this.image = image; 
} 

/** 
* 
* @return 
* The count 
*/ 
public Integer getCount() { 
return count; 
} 

/** 
* 
* @param count 
* The count 
*/ 
public void setCount(Integer count) { 
this.count = count; 
} 

} 
相关问题