【问题标题】:C# Combine JSON objectsC# 组合 JSON 对象
【发布时间】:2011-04-05 02:47:21
【问题描述】:

我有多个缺少或更新信息的 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"
}

感谢您的帮助!

【问题讨论】:

标签: c# json


【解决方案1】:

如果在 c# 使用集合之前使用 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"
}

【讨论】:

  • 我没有使用 JS。原始线程中的第二条评论是我要使用的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-20
  • 2021-11-30
  • 1970-01-01
  • 2019-03-24
  • 2020-01-03
相关资源
最近更新 更多