Android:解析 JSON 中的 HTML 标签

发布于 2024-10-29 04:45:46 字数 3348 浏览 1 评论 0原文

有人可以帮我解析 JSON 中的 HTML 标签吗? 我的 JSON 文件的值上有

等标签。我希望能够解析它们,因此我的应用程序上显示的文本是基于 HTML 标签显示的。

这是我的 JSON 解析代码:

void examineJSONFile()
    {
        try
        {

            String y = "";
            InputStream is = this.getResources().openRawResource(R.raw.uni);
            Writer writer = new StringWriter();
            char[] buffer = new char[1024];

            try {
              BufferedReader reader = new BufferedReader(
                new InputStreamReader(is, "Unicode")
              );
              int n;
              while ((n = reader.read(buffer)) != -1) {
                writer.write(buffer, 0, n);
              }
            } finally {
              is.close();
            }

            String jsontext = writer.toString();
            JSONArray entries = new JSONArray(jsontext);


            int j;
            for (j=0;j<entries.length();j++)
            {
                JSONObject post = entries.getJSONObject(j);
                y += post.getString("description") + "\n";
            }
            txt_beschreibung.setText(y);
        }
        catch (Exception je)
        {
            txt_beschreibung.setText("Error w/file: " + je.getMessage());
        }

    }

这是我的 JSON 文件的示例:

[{
  "title": "CARE Deutschland-Luxemburg e.V.",
  "keyword": "CARE",
  "description": "<p><b>Das CARE-Komplett-Paket für Menschen in Not</b></p><p>Schnell, nachhaltig und durchdacht, das ist das moderne CARE-Paket. CARE ist überzeugt, dass umfassende Hilfe von drei Seiten notwendig ist, um die weltweite Armut Schritt für Schritt zu verringern. Deswegen hat CARE sich seit seiner Gründung 1945 und dem Abwurf der ersten CARE-Pakete über Berlin weiter entwickelt. Heute steckt im CARE-Paket weit mehr als Zucker und Mehl. Heute bietet die Organisation in 70 der ärmsten Länder der Welt ein Komplett-Paket für Menschen in Not.</p><p><b>Das Komplett-Paket für Menschen in Not enthält:</b></p>*sofortige Nothilfe nach Katastrophen<br><br>*langfristige Entwicklungszusammenarbeit<br><br>*Schutz der Menschenrechte<br><br>",
  "smallImageUrl": "http://cdn.spendino.de/web/img/projects/home/1284113658.jpg",
  "bigImageUrl":"http://cdn.spendino.de/web/img/projects/small/1284113658.jpg",
  "cost": "5"
  },
  {
  "title": "Brot für die Welt",
  "keyword": "BROT",
  "description": "<p>„Brot für die Welt“ unterstützt unter der Maßgabe 'Helfen, wo die Not am größten ist' ausgewählte Projekte weltweit.</p><p>Von Angola bis Tansania, von der Förderung von Mahlzeiten bis zur gesundheitlichen Grundversorgung und Katastrophenhilfe.</p><p>Bei ihrem täglichen Kampf gegen Krankheiten, Hunger, Ungerechtigkeiten und Armut wird die Aktion „Brot für die Welt“ von der evangelischen Kirche unterstützt.</p><p>Die Aktion hat es sich zum Ziel gesetzt, die Entwicklungszusammenarbeit auf der ganzen Welt zu fördern und Hilfe zur Selbsthilfe zu leisten.</p>",
  "smallImageUrl": "http://cdn.spendino.de/web/img/projects/home/1267454286.jpg",
  "bigImageUrl":"http://cdn.spendino.de/web/img/projects/small/1267454286.jpg",
  "cost": "5"
  }]

我可以在我的方法中添加的任何内容。我正在寻找问题的具体答案,但我愿意接受任何类型的解决方案。 谢谢

can anybody help me parsing HTML tags in JSON?
I got tags like <b>, <p>, etc. on the values of my JSON file. And I want to be able to parse them, so the text which is displayed on my app is shown based on the HTML tags.

here's my JSON parsing code:

void examineJSONFile()
    {
        try
        {

            String y = "";
            InputStream is = this.getResources().openRawResource(R.raw.uni);
            Writer writer = new StringWriter();
            char[] buffer = new char[1024];

            try {
              BufferedReader reader = new BufferedReader(
                new InputStreamReader(is, "Unicode")
              );
              int n;
              while ((n = reader.read(buffer)) != -1) {
                writer.write(buffer, 0, n);
              }
            } finally {
              is.close();
            }

            String jsontext = writer.toString();
            JSONArray entries = new JSONArray(jsontext);


            int j;
            for (j=0;j<entries.length();j++)
            {
                JSONObject post = entries.getJSONObject(j);
                y += post.getString("description") + "\n";
            }
            txt_beschreibung.setText(y);
        }
        catch (Exception je)
        {
            txt_beschreibung.setText("Error w/file: " + je.getMessage());
        }

    }

and here's the sample of my JSON file:

[{
  "title": "CARE Deutschland-Luxemburg e.V.",
  "keyword": "CARE",
  "description": "<p><b>Das CARE-Komplett-Paket für Menschen in Not</b></p><p>Schnell, nachhaltig und durchdacht, das ist das moderne CARE-Paket. CARE ist überzeugt, dass umfassende Hilfe von drei Seiten notwendig ist, um die weltweite Armut Schritt für Schritt zu verringern. Deswegen hat CARE sich seit seiner Gründung 1945 und dem Abwurf der ersten CARE-Pakete über Berlin weiter entwickelt. Heute steckt im CARE-Paket weit mehr als Zucker und Mehl. Heute bietet die Organisation in 70 der ärmsten Länder der Welt ein Komplett-Paket für Menschen in Not.</p><p><b>Das Komplett-Paket für Menschen in Not enthält:</b></p>*sofortige Nothilfe nach Katastrophen<br><br>*langfristige Entwicklungszusammenarbeit<br><br>*Schutz der Menschenrechte<br><br>",
  "smallImageUrl": "http://cdn.spendino.de/web/img/projects/home/1284113658.jpg",
  "bigImageUrl":"http://cdn.spendino.de/web/img/projects/small/1284113658.jpg",
  "cost": "5"
  },
  {
  "title": "Brot für die Welt",
  "keyword": "BROT",
  "description": "<p>„Brot für die Welt“ unterstützt unter der Maßgabe 'Helfen, wo die Not am größten ist' ausgewählte Projekte weltweit.</p><p>Von Angola bis Tansania, von der Förderung von Mahlzeiten bis zur gesundheitlichen Grundversorgung und Katastrophenhilfe.</p><p>Bei ihrem täglichen Kampf gegen Krankheiten, Hunger, Ungerechtigkeiten und Armut wird die Aktion „Brot für die Welt“ von der evangelischen Kirche unterstützt.</p><p>Die Aktion hat es sich zum Ziel gesetzt, die Entwicklungszusammenarbeit auf der ganzen Welt zu fördern und Hilfe zur Selbsthilfe zu leisten.</p>",
  "smallImageUrl": "http://cdn.spendino.de/web/img/projects/home/1267454286.jpg",
  "bigImageUrl":"http://cdn.spendino.de/web/img/projects/small/1267454286.jpg",
  "cost": "5"
  }]

Anything I can add on my method. I'm looking for a specific answer to my problem but I open to any kind of solution.
Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谈下烟灰 2024-11-05 04:45:46

查看 android.text.Html

您可以使用它来执行以下操作:

textView.setText(Html.fromHtml("Hello, <b>I am bold</b>"));

Have a look at android.text.Html.

You can use this to do something like:

textView.setText(Html.fromHtml("Hello, <b>I am bold</b>"));
软的没边 2024-11-05 04:45:46

android.text.Html 可能是你的朋友。

static Spanned Html.fromHtml(
    String source,
    Html.ImageGetter imageGetter,
    Html.TagHandler tagHandler )

http://developer.android.com/reference/android/text/Html.html

android.text.Html could be your friend here.

static Spanned Html.fromHtml(
    String source,
    Html.ImageGetter imageGetter,
    Html.TagHandler tagHandler )

http://developer.android.com/reference/android/text/Html.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文