2015-05-29 43 views
0

背景:我试图将我的数据序列化到Json中,并从我的MVC控制器中返回它,我想将2个C#数据对象合并到一个单一的json结果中。我已经重写了JsonResult来使用JsonConvert.SerializeObject,它适用于1个对象。通过我想将2个C#对象合并成1个json结果。如何在Json.Net中合并2个JObjects?

回答

2

在Json.Net 4.5:

JObject o1 = JObject.FromObject(data, serializer); 
JObject o2 = JObject.FromObject(data2, serializer); 
foreach (var i in o2) 
{ 
    o1.Add(i.Key, i.Value); 
} 

在Json.Net 6:

JObject o1 = JObject.FromObject(data, serializer); 
JObject o2 = JObject.FromObject(data2, serializer); 
o1.Merge(o2, new JsonMergeSettings 
{ 
    // union array values together to avoid duplicates 
    MergeArrayHandling = MergeArrayHandling.Union 
}); 

V6源链路:http://james.newtonking.com/archive/2014/08/04/json-net-6-0-release-4-json-merge-dependency-injection