在JAVA中解析Google地方信息回复中的“html_attributions”

时间:2014-07-09 06:55:32

标签: android google-places-api google-places

根据政策,必须显示" html_attributions"在应用程序中。收到的回复是 - " html_attributions" :["列表由\ u003ca href = \" http:// some website.com/\" \ u003esSome website \ u003c / a \ u003e" ]

当我将其解析为jObject.getJSONArray(&#34; html_attributions&#34;)时,我得到了 - ["Listings by <a href=\"http:\/\/www.some website.com\/\">some website<\/a>"]

这不能按原样显示,因为它不是正确的HTML。是否有任何方法可以正确解析此归属,以便提取html有效字符串?

2 个答案:

答案 0 :(得分:1)

浏览此Google Places Api Sample,其中介绍了这样做的方法。

它有一个方法formatPlaceDetails,用于格式化显示位置的详细信息。它不直接支持HTML标记,需要先编码。

private static Spanned formatPlaceDetails(Resources res, CharSequence name, String id,
            CharSequence address, CharSequence phoneNumber, Uri websiteUri) {
        Log.e(TAG, res.getString(R.string.place_details, name, id, address, phoneNumber,
                websiteUri));
        return Html.fromHtml(res.getString(R.string.place_details, name, id, address, phoneNumber,
                websiteUri));

    }

<强> string.xml

<string name="place_details">&lt;b&gt;%1$s&lt;/b&gt;&lt;br/&gt;&lt;i&gt;Place Id: %2$s&lt;/i&gt;&lt;br/&gt;Address: %3$s&lt;br/&gt;Phone: %4$s&lt;br/&gt;Website: %5$s</string>

答案 1 :(得分:0)

这可能会有所帮助

从谷歌我发现了on this page。这是html标签,如果我们想要从我们必须从xml解析的html字符串中获取精确的url。

 This is an example of an attribution in JSON format:

"html_attributions" : [
      "Listings by \u003ca href=\"http://www.example.com/\"\u003eExample Company\u003c/a\u003e"
],

This is an attribution in XML format:
<html_attribution>Listings by <a href="http://www.example.com/">Example Company</a></html_attribution>