我试图将一个JSON字符串添加到一个已存在的字符串中,但一直无法成功实现。
这是原始字符串:originalJSONString
{
"properties": [
"property1",
"property2"
]
}
我想把这个字符串加入到原始字符串中:JSONStringIwantToAdd
{
"filter": {
"Name": "some filter name",
"Parameters": {
"LookupKey": "somekey",
"LookupValue": "somevalue"
}
}
}
为了生成类似这样的结果字符串:
finalJSONString
。{
"properties": [
"property1",
"property2"
],
"filter": {
"Name": "some filter name",
"Parameters": {
"LookupKey": "somekey",
"LookupValue": "somevalue"
}
}
}
目前这是我的方向,但在propertiesJObject
中我得到了null,之后就无法弄清楚了。
我是否走对了方向?
var originalJObj = JObject.Parse(originalJSONString);
var tobeaddedJObj = JObject.Parse(JSONStringIwantToAdd);
var propertiesJObject = originalJObj["properties"] as JObject;
propertiesJObject.Add(tobeaddedJObj);
var serializer = new JsonSerializer { ContractResolver = new CamelCasePropertyNamesContractResolver() };
var finalJSONString = JObject.FromObject(originalJObj, serializer).ToString();
有人能帮我解决这个问题吗?
谢谢您的时间!
propertiesJObject
为 null 是因为它是一个JArray
而不是一个JObject
。当你使用as JObject
时,如果强制转换失败,as
将返回 null。 - Nate Barbettini