我需要生成一个JSON文档,该文档将通过设备上的SSI机制进行解析。该文件实际上是一个json序列化字典。为了简便起见,让我们说,它应该是这样的:如何从串联的字符串中删除引号?
var x = new Dictionary<string,object>
{
["A"]=new {x = "<!-- ?A.x -->"},
["B"]=new {x = "<!-- ?B.x -->"}
};
JsonConvert.SerializeObject(x).Dump();
将会产生在LinqPad:
{"A":{"x":"<!-- ?A.x -->"},"B":{"x":"<!-- ?B.x -->"}}
但实际上,这些“X”的字段是数字,而当从取出设备,它们将包含数字。所以,我需要序列化这本词典没有围绕一个字段值的报价是基于C#侧弦:
{"A":{"x":<!-- ?A.x -->},"B":{"x":<!-- ?B.x -->}}
如何强制Newtonsoft Json.NET串行不要引号添加到特定字段的值(不是全部)在序列化?
谢谢。
'{ “A”:{ “×”:}, “B”:{ “×”: }}'Json会无效吗?你不能指望一个JSON序列化器产生无效的JSON。你为什么不自己建立字符串(因为这是一个字符串,而不是Json)? – Liam
为了证明我的观点,把'{“A”:{“x”:},“B”:{“x”:}}'放入[JsonLint](http://jsonlint.com/)错误:第3行解析错误:{“A”:{\t“x”:},“B”:{' – Liam
@Liam:当然,这种形式的JSON无效。我从没有说过。但是在设备处理完成后,通过用数字替换部分将会生效。我知道这是围绕正常的工作方式而开始的。 – ZorgoZ