如何在JObject中设置特定属性

本文关键字:属性 设置 JObject | 更新日期: 2023-09-27 18:25:27

我有下一个JSON:

{  
   "Atrrib1":"Value1",
   "Legs":[  
      {  
         "InternalAttrib1":"Value2",
         "InternalAttrib2":"Value3",
         "InternalDate":"2014-10-01T00:00:00Z"
      },
      {  
         "InternalAttrib1":"Value4",
         "InternalAttrib2":"Value5",
         "InternalDate":"2014-10-01T00:00:00Z"
      }
   ]
}

我有一个设置日期的功能,如果我想更改例如"属性1",我会这样做:

public JObject FixAtribb1(JObject request)
        {
            request["Attrib1"] = "SomeValue";
            return request;
        }

但是,当我试图对"InternalDate"进行同样的处理时,却不起作用,并在原始JSON中创建另一个attrib:

request[@"Legs[" + legCount + "].InternalDate"] = DateTime.UtcNow;

如何像我为"Attrib1"指定值一样为"InternalDate"指定值?

如何在JObject中设置特定属性

您所需要的只是类似的东西

request["Legs"][legCount]["InternalDate"] =DateTime.UtcNow;

您甚至可以使用dynamic关键字

dynamic  dyn = request;
dyn.Legs[0].InternalDate = DateTime.UtcNow;