2014-02-08 3 views
0

Итак, у меня есть 2 массива json в виде строки в следующих переменных. Они оба имеют заголовочные «счета-фактуры», и я хотел бы объединить их вместе, чтобы внутри было всего 1 заголовок и 4 элемента.Как объединить/объединить 2 массива json

в настоящее время:

var info1 = {"invoices":[{"url":"https://api.freeagent.com/v2/invoices/1","contact":"https://api.freeagent.com/v2/contacts/1"},{"url":"https://api.freeagent.com/v2/invoices/2","contact":"https://api.freeagent.com/v2/contacts/2"}]} 

var info2 = {"invoices":[{"url":"https://api.freeagent.com/v2/invoices/3","contact":"https://api.freeagent.com/v2/contacts/3"},{"url":"https://api.freeagent.com/v2/invoices/4","contact":"https://api.freeagent.com/v2/contacts/4"}]} 

Желаемый результат:

var info3 = {"invoices":[{"url":"https://api.freeagent.com/v2/invoices/1","contact":"https://api.freeagent.com/v2/contacts/1"},{"url":"https://api.freeagent.com/v2/invoices/2","contact":"https://api.freeagent.com/v2/contacts/2"},{"url":"https://api.freeagent.com/v2/invoices/3","contact":"https://api.freeagent.com/v2/contacts/3"},{"url":"https://api.freeagent.com/v2/invoices/4","contact":"https://api.freeagent.com/v2/contacts/4"}]} 

Есть ли какие-либо функции, которые я могу использовать, чтобы сделать это?

ответ

1

Самый простой способ - десериализовать их на 2 экземпляра одного класса, добавить элементы массива вместе и затем сериализовать объект обратно в строку.

Info info1 = // deserialize info1 
Info info2 = // deserialize info2 

info1.Invoices.AddRange(info2.Invoices); 

string json = // serialize info1 

Типы:

class Info 
{ 
    List<Invoice> Invoices; 
} 

class Invoice 
{ 
    string URL; 
    string Contact; 
} 
+0

Как бы я сериализации два объекта вместе? –

+0

@BrianPeach http://msdn.microsoft.com/en-us/library/bb412179(v=vs.110).aspx – i3arnon

+0

или это http://stackoverflow.com/a/6201609/885318 – i3arnon

Смежные вопросы