Home > Enterprise >  How to add fields to JSON object without them existing?
How to add fields to JSON object without them existing?

Time:11-20

I have a JObject that I am trying to add fields to in a way like this:

JObject dataObject = new JObject();
dataObject[currentSection][key] = val;

currentSection, key and val are all strings, I want it so when its all serialized at the end that it looks something like this:

{
    "currentSection": {
        "key": "value"
    }
}

How would I go about doing this?

CodePudding user response:

You can use JObject.Add() method to add a property to JObject.

  1. Create a JObject for the nested object.

  2. Add property to the nested object.

  3. Add property with nested object to root JObject.

JObject dataObject = new JObject();
        
JObject nestedObj = new JObject();
nestedObj.Add(key, val);

dataObject.Add(currentSection, nestedObj);

Demo @ .NET Fiddle

CodePudding user response:

you have to create a nested currentSection json object before assigning key to currrentSection

    string currentSection = "currentSection";
    string key = "key";
    string val = "val";

    JObject dataObject = new JObject();
    dataObject[currentSection] = new JObject();

    dataObject[currentSection][key] = val;  
    var json = dataObject.ToString();

json

{
  "currentSection": {
    "key": "val"
  }
}
  • Related