1

いくつかの Web サービスにアクセスする必要があり、データを JSON 形式で返す Android アプリケーションを作成しようとしています。

私は Gson を使用してこれらのデータを解析していますが、このライブラリに問題はありませんでした。

どうやら、Webサービスが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 に答える