【问题标题】:string replace for new line is not working for json string in vb.net新行的字符串替换不适用于 vb.net 中的 json 字符串
【发布时间】:2012-10-01 12:11:57
【问题描述】:

我进行了很多搜索以找出解决问题的方法,但似乎没有任何效果。我正在尝试将一些文本从数据库加载到页面中。在加载之前,我将其解析为 JSON 字符串。

我需要从数据库加载的文本是

数量:1 型号:MX-M350UCT \n 数量:1 型号:MX-M350UCT 配件:电源滤波器

最初,当我尝试解析它时,它会抛出异常作为意外表达式,我认为这是换行符的原因。所以我在下面插入了一段代码

str = Replace(str, vbCrLf, "\n")

现在我可以解析了,输出是

数量:1 型号:MX-M350UCT 数量:1 型号:MX-M350UCT

问题是我希望文本以与数据库中相同的格式显示。我尝试用"\\n""""<br />" 以及互联网上建议的其他选项更改上述代码中的'\n',但似乎没有任何效果,我得到的输出与一个长文本相同的两个单独的文本。非常感谢任何建议或想法。

【问题讨论】:

  • 那么你使用的是什么语言?
  • 当你使用“
    ”时,你可以使用 F12(在 IE 中)查看 HTML 输出的内容吗?请在此处发布。
  • @JimW 我对你的问题有点困惑。能不能说的清楚一点
  • @OP,我的意思是,加载您的页面,然后按 F12(在 IE 中),并浏览源代码以找到您的问题所在,然后从那里复制 HTML 并发布它.
  • @JimW 谢谢。为了清楚起见,我在 .vb 文件中使用了 str = replace(str, vbCrlf, "
    ") 。所以在我的 .aspx 文件中,所有的 javascript 和 ajax 调用都在那里。当我在 IE 中加载我的页面并执行 F12 时,它只显示 ajaxcall 代码和 usercontrol 代码。如果您仍然认为它有用,我会发布它。非常感谢

标签: vb.net json replace


【解决方案1】:

\n 必须替换为 \\n。反斜杠需要转义才能在 JSON 字符串中使用。

【讨论】:

  • 我已经尝试使用 "\\n" 然后在输出中 \n 如下所示 "Qty: 1 Model#: MX-M350UCT\nQty: 1 Model#: MX-M350UCT Accessory: Power过滤“谢谢你
  • 您如何准确地将其添加到页面中?
  • 你的意思是去掉 \n 前后的空格?
  • @jcolebrand 一旦文本被检索(解析后),我正在打印它。我的打印功能是: Private Sub printJSON(ByVal str As String) Response.Clear() Response.ContentType = "application/json" Response.ContentEncoding = Encoding.UTF8 Response.Write(str) Response.End() End Sub
  • 有帮助吗? str = 替换(str, "\n", " \\n ")
【解决方案2】:

既然你提到了剑道网格,这就是你需要的。

http://www.kendoui.com/forums/ui/grid/line-breaks-in-grid-cell.aspx

【讨论】:

  • 非常感谢您会查看链接
猜你喜欢
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 2018-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
相关资源
最近更新 更多