C# Web.Config AppSettings中的Json

C# Web.Config AppSettings中的Json,c#,asp.net,json,asp.net-mvc,azure-web-app-service,C#,Asp.net,Json,Asp.net Mvc,Azure Web App Service,我试图将一些映射配置放在json中: [{"Name":"xyz","Ids":["456f782d468","c65b4703"]},{"Name":"abc","Ids":["a95fg567","456sdf564"]}] 可以在appsettings中存储json吗? 我知道我可以在web.config中创建自定义节。 但此应用可能会部署到Azure Web应用,其中appsettings是我查看此配置的唯一方式。由于您的限制,我只会将其编码为Base64字符串,并在您从Web.con

我试图将一些映射配置放在json中:

[{"Name":"xyz","Ids":["456f782d468","c65b4703"]},{"Name":"abc","Ids":["a95fg567","456sdf564"]}]
可以在appsettings中存储json吗?
我知道我可以在web.config中创建自定义节。

但此应用可能会部署到Azure Web应用,其中appsettings是我查看此配置的唯一方式。

由于您的限制,我只会将其编码为
Base64
字符串,并在您从Web.config读取它时将其解码回来。

不太好。web.config是XML,在XML中不允许引号转义到“。在JSON上这样做仍然会使读取/维护变得“困难”。Base64说serhiyb是一种解决方案,但个人也无法维护它

我将它们存储为appsettings键/值对,然后在运行时生成json字符串

如果您是100%的用户,字符串将永远不会更改,那么转义或Base64是一个选项。

如果您使用
而不是引号字符,那么您可以将JSON存储在应用程序设置或连接字符串中,而不会在Web.config中出现问题。例如:

<add key="ThisIsJson" value="[{&quot;Name&quot;:&quot;xyz&quot;}]"/>


这也不需要任何特殊处理,至少在Json.NET中是这样。

在我的web.config中,括号用于使用像{0}或{1}这样的变量。 所以,我需要用双括号来表示:

<add key="ThisIsJson" value="{{&quot;Name&quot;:&quot;xyz&quot;}}"/>


希望能有所帮助。

否。我认为您应该将字符串存储为appsetting项值。为什么不存储一个custom settings.json文件并从中读取呢?一年前我问了一个类似的问题:。我希望有帮助