このエラーが発生しています。 java.lang.IllegalStateException:BEGIN_OBJECTが必要ですが、1行目の列44にSTRINGしています。アンドロイド、gsonはjsonの文字列をjavaオブジェクトにパースできません
この問題に関して同様の質問があることは知っています。 私のjson文字列は、jsonエディタで見ることができるので、正しい形式です。
これは以前私のために働いていましたが、別のjsonストリングを使っていました。
この
は私のコードです:これは、Javaのデータがpublic class Data3Nir {
private List<LinksEntity> links;
public void setLinks(List<LinksEntity> links) {
this.links = links;
}
public List<LinksEntity> getLinks() {
return links;
}
public static class LinksEntity {
private LinkEntity link;
public void setLink(LinkEntity link) {
this.link = link;
}
public LinkEntity getLink() {
return link;
}
public static class LinkEntity {
private String title;
private String link_place_in_list;
private String web_link;
private WebLinkIconEntity web_link_icon;
public void setTitle(String title) {
this.title = title;
}
public void setLink_place_in_list(String link_place_in_list) {
this.link_place_in_list = link_place_in_list;
}
public void setWeb_link(String web_link) {
this.web_link = web_link;
}
public void setWeb_link_icon(WebLinkIconEntity web_link_icon) {
this.web_link_icon = web_link_icon;
}
public String getTitle() {
return title;
}
public String getLink_place_in_list() {
return link_place_in_list;
}
public String getWeb_link() {
return web_link;
}
public WebLinkIconEntity getWeb_link_icon() {
return web_link_icon;
}
public static class WebLinkIconEntity {
private String src;
private String alt;
public void setSrc(String src) {
this.src = src;
}
public void setAlt(String alt) {
this.alt = alt;
}
public String getSrc() {
return src;
}
public String getAlt() {
return alt;
}
}
}
}
}
は、これは私がJavaオブジェクトに解析しようとしている結果の文字列であるオブジェクトです
Gson gson = new Gson();
data = gson.fromJson(result, Data3Nir.class);
{
"links": [
{
"link": {
"title": "ראשי",
"link_place_in_list": "1",
"web_link": "http://app.bsn.co.il/node/9058",
"web_link_icon": {
"src": "http://bsn.co.il/sites/default/files/7b258ff5-819c-4de4-a6c9-482ecc847a0a.Png",
"alt": ""
}
}
}
]
}
ありがとう、ヘブライ語が私の問題でした。それは英語だけで正常に動作します。何gsonバージョンを使用していますか? – ediBersh