【问题标题】:How to merge/combine 2 json arrays如何合并/组合 2 个 json 数组
【发布时间】:2014-03-05 21:23:37
【问题描述】:

所以我在下面的变量中有 2 个 json 数组作为字符串。他们都有标题“发票”,我想将两者合并在一起,所以里面只有 1 个标题和 4 个项目。

目前有:

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"}]}

有什么函数可以用来做这个吗?

【问题讨论】:

    标签: c# json string merge arrays


    【解决方案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;
    }
    

    【讨论】:

    • 如何将这两个对象序列化在一起?
    • 解决了非常感谢:)
    猜你喜欢
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    相关资源
    最近更新 更多