GSON 解析错误
GSON Parsing error
这是我的 json,
{"status":"success","data":{"name":"Test","mob_no":"8089647076","country_prefix":"+91","email":""}}
请注意
"email":""
当我尝试使用 gson 解析它时抛出错误
03-16 16:50:29.019: E/AndroidRuntime(11039): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gsonsample/com.example.gsonsample.MainActivity}: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unexpected value at line 1 column 11
我的模型class
public class APIBase {
String status;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Data getData() {
return data;
}
public void setData(Data data) {
this.data = data;
}
Data data;
}
数据模型class
public class Data {
String name, mob_no, country_prefix;
List<Review> reviews;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMob_no() {
return mob_no;
}
public void setMob_no(String mob_no) {
this.mob_no = mob_no;
}
public String getCountry_prefix() {
return country_prefix;
}
public void setCountry_prefix(String country_prefix) {
this.country_prefix = country_prefix;
}
public List<Review> getReviews() {
return reviews;
}
public void setReviews(List<Review> reviews) {
this.reviews = reviews;
}
}
这是我解析 json
的代码
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setDateFormat("dd/mm/yyyy");
Gson gson = gsonBuilder.create();
JsonReader reader = new JsonReader(new StringReader(getString(
R.string.json3).trim()));
reader.setLenient(true);
APIBase base = gson.fromJson(reader, APIBase.class);
Log.v("status", base.getStatus() + "");
这是我在 xml
中的 json
<string name="json3">{"status":"success","data":{"name":"Test","mob_no":"8089647076","country_prefix":"+91","email":""}}</string>
我正在学习 gson 方法。
我发现 json
中的所有字段都不需要变量
感谢任何帮助
在您的 string.xml 中试试这个:
<string name="test_string">
{\"status\":\"success\",\"data\":{\"name\":\"Test\",\"mob_no\":\"8089647076\",\"country_prefix\":\"+91\",\"email\":\"\"}}
</string>
这是我的 json,
{"status":"success","data":{"name":"Test","mob_no":"8089647076","country_prefix":"+91","email":""}}
请注意
"email":""
当我尝试使用 gson 解析它时抛出错误
03-16 16:50:29.019: E/AndroidRuntime(11039): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gsonsample/com.example.gsonsample.MainActivity}: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unexpected value at line 1 column 11
我的模型class
public class APIBase {
String status;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Data getData() {
return data;
}
public void setData(Data data) {
this.data = data;
}
Data data;
}
数据模型class
public class Data {
String name, mob_no, country_prefix;
List<Review> reviews;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMob_no() {
return mob_no;
}
public void setMob_no(String mob_no) {
this.mob_no = mob_no;
}
public String getCountry_prefix() {
return country_prefix;
}
public void setCountry_prefix(String country_prefix) {
this.country_prefix = country_prefix;
}
public List<Review> getReviews() {
return reviews;
}
public void setReviews(List<Review> reviews) {
this.reviews = reviews;
}
}
这是我解析 json
的代码GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setDateFormat("dd/mm/yyyy");
Gson gson = gsonBuilder.create();
JsonReader reader = new JsonReader(new StringReader(getString(
R.string.json3).trim()));
reader.setLenient(true);
APIBase base = gson.fromJson(reader, APIBase.class);
Log.v("status", base.getStatus() + "");
这是我在 xml
中的 json<string name="json3">{"status":"success","data":{"name":"Test","mob_no":"8089647076","country_prefix":"+91","email":""}}</string>
我正在学习 gson 方法。
我发现 json
中的所有字段都不需要变量感谢任何帮助
在您的 string.xml 中试试这个:
<string name="test_string">
{\"status\":\"success\",\"data\":{\"name\":\"Test\",\"mob_no\":\"8089647076\",\"country_prefix\":\"+91\",\"email\":\"\"}}
</string>