在创建JObject C#

时间:2018-01-23 11:23:50

标签: c# asp.net json

我正在尝试使用下面提到的结构创建JsonObject。

{
      "id": "1",
      "name": "XXX",
      "age": "30"
    }

使用代码,

dynamic sampleJson = new JObject();
                sampleJson.Add("id", "1");
                sampleJson.Add("name", "XXX");
                sampleJson.Add("age", "30");

但问题是在json结构的开头和结尾出现了额外的花括号,如下所示。

{{
  "id": "1",
  "name": "XXX",
  "age": "30"
}}

我使用所需的JSON结构作为API的帖子主体,它应该是JSON格式(所以不能使用ToString()方法使用JSON字符串结构)。如何删除额外的括号并达到我的要求? ??

2 个答案:

答案 0 :(得分:3)

由于您使用的是JObject,因此您只需调用ToString()覆盖即可创建JSON。例如:

JObject sampleJson = new JObject();
sampleJson.Add("id", "1");
sampleJson.Add("name", "XXX");
sampleJson.Add("age", "30");

var json = sampleJson.ToString();

现在,您的json变量将包含:

{
  "id": "1",
  "name": "XXX",
  "age": "30"
}

答案 1 :(得分:0)

ToString()对我不起作用。做了以下事情:

JsonConvert.DeserializeObject(JSONStringHere, typeof(ExpandoObject));