【问题标题】:remove unwanted ' \' from json values with html tags , generated using amazonaws json toolkit从带有html标签的json值中删除不需要的'\',使用amazonaws json toolkit生成
【发布时间】:2012-07-18 13:34:19
【问题描述】:

我使用 amazonaws library[com.amazonaws.util.json] (java) 来生成 json 。 我使用如下的东西

    private static final String boldHtmlOpenTag = "<b>";
private static final String boldHtmlCloseTag = "</b>";
private static final String italicsHtmlOpenTag = "<i>";
private static final String italicsHtmlCloseTag = "</i>";
    String result = boldHtmlOpenTag + "hello" + boldHtmlCloseTag;
    jsonobj.put("test",result);

我收到的回复是{"test" : &lt;b&gt; hello&lt;\/b&gt;}。 我需要没有\ 的输出。 提前致谢。

【问题讨论】:

  • 我想在 json 中包含 html 标记,但在结束标记处我得到了一个转义斜线,可能由 json 库添加。
  • 我问的是你在这个问题上发布的代码,因为它不是 java 对吗?
  • @Francisco Spaeth 我使用 java 代码和 amazonaws eclipse 工具包
  • 我问是因为它不是有效的 Java 代码,string 不是已知类型,如果您不在行尾添加 ;,您将不会完成句子。
  • @Francisco Spaeth 它的唯一样本

标签: java json amazon


【解决方案1】:

问题似乎不存在。我想包含您从其他地方加载的标签的值,并且该值与此转义字符一起存储。

我得出这个结论是因为:

  1. 给出的示例不是java,我怎么感觉你只是为这个问题写了一个伪示例;
  2. amazon json API 没有对转义字符发表任何评论,并且实现是根据 API(我检查过)。

所以,请检查您从哪里获取信息,以及是否没有存储错误的值。

【讨论】:

  • 我在 main 函数中尝试了一小部分代码,我得到了相同的结果
  • 导入 com.amazonaws.util.json.JSONException;导入 com.amazonaws.util.json.JSONObject;最终字符串 boldHtmlOpenTag = "";最终字符串 boldHtmlCloseTag = "";最终字符串斜体HtmlOpenTag = "";最终字符串斜体HtmlCloseTag = "";字符串 str = boldHtmlOpenTag + 斜体HtmlOpenTag + "你好" + 斜体HtmlOpenTag + boldHtmlCloseTag;字符串 str1 =""+"你好"+""; JSONObject jsonobj = 新 JSONObject(); jsonobj.put("测试", str1); System.out.println(jsonobj.toString());
  • 是的,我将其作为 java 应用程序进行测试
【解决方案2】:

如果我的理解正确,为什么不直接做

result = result.replace("\\","");

编辑: 好的,那为什么不这样做:

boldHtmlCloseTag = "<&frasl;b>";

那应该仍然是合法的 JSON。

【讨论】:

  • 问题是我生成的 json 值是一个带有 htmltags 的字符串。在结束部分亚马逊库放了一个额外的反斜杠
【解决方案3】:

试试这个!

result = result.replace("\\\\","");

【讨论】:

    猜你喜欢
    • 2021-06-27
    • 1970-01-01
    • 2016-04-15
    • 2021-11-16
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多