JObject嵌套属性

Gue*_*lla 8 c# json json.net

我试图用JObject创建一个这样的json对象:

{
    "input": {
        "webpage/url": "http://google.com/"
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以添加以下属性:

JObject job = new JObject(
                new JProperty("website/url", "http://www.google.com") );
Run Code Online (Sandbox Code Playgroud)

但是每次我尝试将一个对象嵌套在另一个对象中,这样我就可以让父"输入"它抛出一个异常.

如何使用JObject创建嵌套属性?

And*_*ker 16

可能最直接的方式是:

var input = new JObject();

input.Add("webpage/url", "http://google.com");

var obj = new JObject();

obj.Add("input", input);
Run Code Online (Sandbox Code Playgroud)

哪个给你:

{
  "input": {
    "webpage/url": "http://google.com"
  }
}
Run Code Online (Sandbox Code Playgroud)

另一种方式是:

var input = new JObject
{
    { "webpage/url", "http://google.com" }
};

var obj = new JObject
{
    { "input", input }
};
Run Code Online (Sandbox Code Playgroud)

......或者如果你想在一个声明中全部:

var obj = new JObject
{
    {
        "input",
        new JObject
        {
            { "webpage/url", "http://google.com" }
        }
    }
};
Run Code Online (Sandbox Code Playgroud)


Jam*_*rpe 5

只要继续,然后将它们嵌套在另一个层次:

JObject job = new JObject(
                new JProperty("website/url", "http://www.google.com") );

JObject parent = new JObject(new JProperty("input", job));
Run Code Online (Sandbox Code Playgroud)

parent.ToString() 现在给出:

{"input":{"website/url":" http://www.google.com "}}