C#组合JSON对象

时间:2011-04-04 17:00:58

标签: c# json

我有多个JSON对象的实例,这些对象缺少或更新了信息。我想要一种方法来获取所有JSON对象并将它们组合成C#(.net 3.5)中的一个记录。如果存在现有字段,我希望保存最新的字段。

例如,如果我分别拥有所有这些对象:

{
    "id" : 1,
    "firstName" : "John",
}
{
    "id" : 1,
    "firstName" : "John",
    "lastName" : "Dow",
    "phone" : "555-555-5555"
}
{
    "id" : 1,
    "phone" : "(555) 555-555"
}
    "id" : 1,
    "position" : "Peon"
}

我希望结果对象等于:

{
    "id" : 1,
    "firstName" : "John",
    "lastName" : "Dow",
    "phone" : "(555) 555-555"
    "position" : "Peon"
}

感谢您的帮助!

1 个答案:

答案 0 :(得分:-1)

如果在使用该集合之前使用javascript进行此操作是一个选项 你可以使用underscore.js。我不包括任何检查以查看id是否相同,所以如果可能是这种情况需要添加

var objects = [
{
    "id" : 1,
    "firstName" : "John"
},
{
    "id" : 1,
    "firstName" : "John",
    "lastName" : "Dow",
    "phone" : "555-555-5555"
},
{
    "id" : 1,
    "phone" : "(555) 555-555"
},
{
    "id" : 1,
    "position" : "Peon"
}];

var merged = _.reduce(objects, function(sum, value){ return _.extend(sum, value); }, {});

gives

{
 "id":1,
 "firstName":"John",
 "lastName":"Dow",
 "phone":"(555) 555-555",
 "position":"Peon"
}