在 C# 中更新 json 对象
update json object in c#
我有一个 json 对象,类似于
{ "name" : "sai", "age" : 22, "salary" : 25000}
我想通过
更新json对象
{ "name" : "sai", "age" : 23, "Gender" : "male"}
然后我想要类似
的结果
{ "name" : "sai", "age" : 23, "salary" : 25000, "Gender" : "male"}
我试过
foreach (var item in actualJson)
{
bool isFound = false;
foreach (var newItem in newJson)
{
if(item == newItem) // always returns false, anything wrong with this?
{
isFound = true;
break;
}
}
if(!isFound)
{
// add to json
}
}
我没有解决这个问题的想法?
任何 help/guidance 将不胜感激。
使用 Json.NET 你可以这样做:
var json1 = "{ \"name\" : \"sai\", \"age\" : 22, \"salary\" : 25000}";
var json2 = "{ \"name\" : \"sai\", \"age\" : 23, \"Gender\" : \"male\"}";
var object1 = JObject.Parse(json1);
var object2 = JObject.Parse(json2);
foreach (var prop in object2.Properties())
{
var targetProperty = object1.Property(prop.Name);
if (targetProperty == null)
{
object1.Add(prop.Name, prop.Value);
}
else
{
targetProperty.Value = prop.Value;
}
}
var result = object1.ToString(Formatting.None);
这将在 json1 中添加一个 属性 的 json2(如果它不存在)或者它会更新它(如果它存在)的值。
我有一个 json 对象,类似于
{ "name" : "sai", "age" : 22, "salary" : 25000}
我想通过
更新json对象{ "name" : "sai", "age" : 23, "Gender" : "male"}
然后我想要类似
的结果{ "name" : "sai", "age" : 23, "salary" : 25000, "Gender" : "male"}
我试过
foreach (var item in actualJson)
{
bool isFound = false;
foreach (var newItem in newJson)
{
if(item == newItem) // always returns false, anything wrong with this?
{
isFound = true;
break;
}
}
if(!isFound)
{
// add to json
}
}
我没有解决这个问题的想法?
任何 help/guidance 将不胜感激。
使用 Json.NET 你可以这样做:
var json1 = "{ \"name\" : \"sai\", \"age\" : 22, \"salary\" : 25000}";
var json2 = "{ \"name\" : \"sai\", \"age\" : 23, \"Gender\" : \"male\"}";
var object1 = JObject.Parse(json1);
var object2 = JObject.Parse(json2);
foreach (var prop in object2.Properties())
{
var targetProperty = object1.Property(prop.Name);
if (targetProperty == null)
{
object1.Add(prop.Name, prop.Value);
}
else
{
targetProperty.Value = prop.Value;
}
}
var result = object1.ToString(Formatting.None);
这将在 json1 中添加一个 属性 的 json2(如果它不存在)或者它会更新它(如果它存在)的值。