【问题标题】:vb.net Passing variables into a string using String.Formatvb.net 使用 String.Format 将变量传递到字符串中
【发布时间】:2014-04-07 03:26:45
【问题描述】:

刚从 vb.net 开始。

我正在尝试从变量创建一个有效的 JSON 字符串。

Dim var1 As String = """object"":""" + anotherVar + """"
Dim var2 As String = """object2"":""" + anotherVar + """"
Dim var3 As String = """object3"":""" + anotherVar + """"

Dim jsonData As String = String.Format("{ {0}, {1}, ""somestruct"": { {2} }}", var1, var2, var3)

显然我做错了什么。变量 jsonData 格式错误。

如果是纯 JSON,它应该看起来像这样。

{
"object": "string",
"object2": "string",
"somestruct": {
    "object3": "string"
}

可能错过了一些愚蠢的事情。这里完全是新的,所以请随时将我重定向到更好的方法。谢谢!

【问题讨论】:

  • 我可以知道你为什么将多个引号放在一个字符串中吗?
  • 为什么要自己构建 JSON?为此使用任何现有的库会更容易(也更好)。
  • 这就是我正在学习的内容......我相信你是对的。我开始研究 Newtonsoft。它变得令人困惑,因为我的 JSON 字符串/对象每次都需要根据用户输入而有所不同,并且它检查了几个条件。我将不得不继续这样做,并在我更加扎实时报告。我对此完全陌生。

标签: json vb.net


【解决方案1】:

link 是一个相关问题。字符“{”和“}”是导致错误的原因。你必须转义这些字符..

改变这一行

Dim jsonData As String = String.Format("{ {0}, {1}, ""somestruct"": { {2} }}", var1, var2, var3)

Dim jsonData As String = String.Format("{0} {1}, {2}, ""somestruct"": {0} {2} {3} {3}", "{", var1, var2, var3, "}")

Dim jsonData As String = String.Format("{{ {0}, {1}, ""somestruct"": {{ {2} }}}}", var1, var2, var3)

【讨论】:

  • 我不知道为什么,但我遇到了错误。我开始更多地研究这些 JSON 库。
  • 你能告诉我错误吗?此链接也可能对您有所帮助,我没有任何 JSON 经验,但我认为如果您从头开始这样做会很困难.. 虽然它在 C# 中,codeproject.com/Articles/272335/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-03
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
  • 1970-01-01
相关资源
最近更新 更多