使用方法作为属性将字符串解析为C#中的JArray

时间:2018-06-24 04:40:55

标签: c# .net json

我正在将JSON数据存储在返回字符串的SQL DB中,并且需要将其转换为C#中的JArray。其中一个属性的属性不是字符串或数字,而是方法名称,并且会抛出异常,因为JArray无法解析它。由于该值不能用字符串引号引起来,所以我该如何正确处理呢?

这是JSON:

 {
      "id": "4",
      "data": [
    {     
      wrappers: ['floating-label'],     
      fieldGroup: [{
        key: 'town',
        type: 'input',
        templateOptions: {
          required: true,
          placeholder: "Your town",

        },
      }],
    },
    {
      key: 'Connection',
      type: 'select',
      templateOptions: {
        label: 'Connection',
        options: this.dataservice.getModels(),
        valueProp: 'id',
        labelProp: 'name',
      },
    },
  ]
}

从数据库中获取JSON之后的当前代码:select

var resultArray =  JArray.FromObject(result.Select(e => JObject.Parse(e.Form)).ToArray());

是否有一种方法可以转换为JArray或JSON对象,并且仍然将上述JSON中的选项值保持不变?

1 个答案:

答案 0 :(得分:2)

不要混淆JSON和JavaScript:您的示例看起来像JavaScript。 JSON仅对字符串和字段名称要求双引号(如示例开头)。 此外,JSON仅允许使用字符串,数字和布尔值。

阅读规格here