我有一段JSON,我想将其放入字符串中供C#使用。问题是,当我跳过所有的双引号时,它似乎不再有效。例如:
string jsonString = " {[ { "FieldId": "Fields.364", "FieldName": "LoanNo", "Precision": "0" } , { "FieldId": "Fields.4002", "FieldName": "LastNameB" } ]}";
JObject jsettings = JObject.Parse(jsonString);
有没有一种更简单的方法可以将JSON字符串转换为C#对象?
就JSON而言,实际上并没有转义任何双引号-字符串不包含任何反斜杠。您可以使用Console.WriteLine(jsonString);
进行确认。
问题是,您当前在对象中直接有一个数组,这不是有效的JSON。
如果你更改它,使数组成为属性,那就好了:
string jsonString = " { "foo":[ { /* rest as before */ } ] }";
结果是:的JSON
{
"foo": [
{
"FieldId": "Fields.364",
"FieldName": "LoanNo",
"Precision": "0"
},
{
"FieldId": "Fields.4002",
"FieldName": "LastNameB"
}
]
}
(只是在发布代码后使用Console.WriteLine(jsettings);
。)