【问题标题】:How to add a json string as a app setting value in config file如何在配置文件中添加 json 字符串作为应用程序设置值
【发布时间】:2018-01-26 06:11:16
【问题描述】:

我有一个要求,我需要在进行 API 调用之前获取一组 json。 我打算在 app.config 中添加这些 json 字符串,如下所示

 <add key="Jsons" value="{""Id"":""25"",""Name"":""Value-1""}"/>

但是,添加它会导致在值的开头出现编译错误“缺少空格”。 如果我遗漏了什么,请告诉我。 我不想创建一个单独的文本文件来读取 jsons。这就是为什么我决定使用 app.config 本身

【问题讨论】:

  • 如果我不使用 "" 我会收到多个错误
  • 格式应该像 {"Id":"25", "Name":"Value-1"}
  • 这会导致格式错误

标签: c# json app-config


【解决方案1】:

您的报价格式不正确。 你可以试试这个:

&lt;add key="Jsons" value='{"Id":"25","Name":"Value-1"}'/&gt;

【讨论】:

  • 哇,这看起来很像我的评论??
  • @Fergus 为什么投反对票?我没有看到你的评论,当我现在看的时候,我的更完整:)
  • @ShaijuJanardhanan,太好了,如果是,请不要忘记将其标记为答案:)
  • @Fergus 但我无法从您的回答中找出问题,因为我也尝试过正确的格式。单引号是我没有使用的
  • 太棒了,这就是 SO 的美妙之处。
【解决方案2】:

app.config 仍然是 XML!您需要对引号使用 XML 转义序列。

<add key="Jsons" value="{&quot;Id&quot;:&quot;25&quot;,&quot;Name&quot;:&quot;Value-1&quot;}"/>

【讨论】:

  • 这看起来很冗长。接受的答案确实有效
【解决方案3】:

我在这里看到两个选择:

  1. 使用“\”转义:

      <add key="Jsons" value="{\"Id\":\"25\",\"Name\":\"Value-1\"}"/>
    
  2. 使用单引号:

    <add key="Jsons" value="{'Id':'25','Name':'Value-1'}"/>
    

【讨论】:

  • 尽管许多解析器可能允许这样做,但在 JSON 中使用单引号在技术上是无效的。
  • 不是有效的 JSON
猜你喜欢
  • 1970-01-01
  • 2017-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 2017-11-02
  • 2013-04-06
相关资源
最近更新 更多