了解如何实现动态JSON操作

时间:2016-02-05 19:23:44

标签: c# json xml

我的问题是:

我正在尝试将代表订单的JSON发送给API。

这是我面临的问题的structure

这些是订单的一些例子:

  1. 将货件和物品,orders
  2. 相乘
  3. 一个货件并乘以物品orders
  4. 一件货物和一件物品,order
  5. - >我希望我能涵盖所有案件

    此JSON是根据XML构建的,每次客户想要订购时都会动态构建。

    • 他可以订购,繁殖货物和繁殖物品 - 功能需要照顾它。

    我无法构建一个能处理所有情况的函数 并写下正确的ID。

    现在这就是我写的(我正在将值写入XML,然后我就是 在newtonsoft的帮助下将其序列化为JSON - 这很好用)

    public void SendOrder(string renderedOutput, string orderID)
    {
        var xml = XElement.Parse(renderedOutput);
        var elmOrderData = xml.Element("orderData").Descendants();  
        var shipmentsIds = GetShipmentsIds(orderID);
    
        int shipmentId = 0; 
        int shipmentId_index = 0;
    
        foreach (var el in elmOrderData)
        {// the correct order according to the xml template
            if (el.Name == "shipmentIndex" && el.Attribute("Name").Value == "items")
            {// items -> shipmentIndex
                el.SetValue(shipmentId);
            }
    
            if (el.Name == "shipmentIndex" && el.Attribute("Name").Value == "shipments")
            {// shipments -> shipmentIndex
                el.SetValue(shipmentId);
            }
    
            if (el.Name == "sourceShipmentId")
            {
                var sourceShipmentIndex = shipmentsIds[shipmentId_index];
                el.SetValue(sourceShipmentIndex);
    
                shipmentId++;
                shipmentId_index++;
            }
        }
    }
    

0 个答案:

没有答案