1

我正在尝试制作一个需要访问一些网络服务的 Android 应用程序,以 JSON 格式返回数据。

我正在使用 Gson 来解析这些数据,并且这个库从来没有任何问题。

显然,网络服务向我返回了一个带有 html 标签的字符串(实际上,从 HTML 标签开始)。问题是,即使我在解析字符串时没有异常,这个特定的字段在输出中似乎是空的。

我试图解析的 Json 看起来像这样:

{
    "ID": "66",
    "Nom": "Bordeaux",
    "Pays": "FRANCE",
    "Titre_office": "Office de Tourisme de",
    "Descriptif_office": "<a href=\"http://www.secure-hotel-booking.com/office-de-tourisme-de-bordeaux/2T66/dateselection?sid=1811faff-feda-4f98-83b5-89d6eb6266e8\">Disponibilités des hébergements en ville</a> Bordeaux, ville riche en histoires et en lieux, avec son fabuleux patrimoine mondial, sa culture, sa gastronomie et son art de vivre, vous accueille toute l'année pour profiter d'un excellent moment.",
    "Logo_office": "ville_66.jpg",
    "Adresse_office": "blabla",
    "Num_contact": "+33xxxxxxxxxx",
    "Mail_contact": "xxx@mail.com",
    "Site_contact": "http://www.bordeaux-tourisme.com"
}

当然,所有字段都可以,除了“Descriptif_office”一个。

我尝试使用 new GsonBuilder().disableHtmlEscaping().create(); 但严格没有效果...

任何帮助将不胜感激 !

谢谢

编辑 :

使用硬编码字符串时我没有问题:

new GsonBuilder().disableHtmlEscaping().create().fromJson(new StringReader("         {\"Descriptif_office\":\"<a href=\\\"http:\\/\\/www.secure-hotel-booking.com\\/office-de-tourisme-de-bordeaux\\/2T66\\/dateselection?sid=1811faff-feda-4f98-83b5-89d6eb6266e8\\\">Disponibilit\\u00e9s des h\u00e9bergements en ville<\\/a> Bordeaux, ville riche en histoires et en lieux, avec son fabuleux patrimoine mondial, sa culture, sa gastronomie et son art de vivre, vous accueille toute l'ann\u00e9e pour profiter d'un excellent moment.\"}"), test.class);
4

2 回答 2

0

尝试使用JSONString.replace("htmlYouWantToEspace", "whatYouWantToInstert");. 这样你就可以避免问题。

于 2012-08-06T14:58:04.573 回答
0

始终检查您是否调用了正确的 Web 服务。愚蠢的我。

于 2012-09-04T13:52:48.033 回答