Abrar Kazi Ответов: 1

Как преобразовать / получить json с ключами массива в datatable ?


{"orderMode": "20",

"nonFabricLineItemDetails": [{"itemID": "NF2881", "quantity": "45"}],
"orderRefNo": "393_manisha_1465553838", "courierId": "365",

"fabricLineItemDetails":
[{"идентификатор элемента":"F31793","количество":"1.00"},{"идентификатор элемента":"F19170","количество":"23.00"}],

"customerID": 393}


это json, который я получу из источника. Это заказ, сделанный одним клиентом. но заказ бывает 2-х видов тканевый и нетканый.
Каждый тип состоит из элементов . Теперь я хочу разделить их как :

Заказ ткани и не Заказ ткани из вышеуказанного json вместе с общими тегами customerid courier id и т. д.

Что я уже пробовал:

Создал этот класс .

[DataContract]
того общественного класса
{

[DataMember(EmitDefaultValue = false)]
public string orderMode { get; set; }

[DataMember(EmitDefaultValue = false)]
общественные строковый идентификатор элемента { получить; набор; }

[DataMember(EmitDefaultValue = false)]
количество публичных строку { получить; набор; }

[DataMember(EmitDefaultValue = false)]
public string orderRefNo { get; set; }

[DataMember(EmitDefaultValue = false)]
публичная строка courierId { get; set; }

[DataMember(EmitDefaultValue = false)]
общественного строка "кодклиента" { получить; набор; }

}

1 Ответов

Рейтинг:
5

F-ES Sitecore

Ваша структура класса должна соответствовать структуре json иначе десериализатор не знает какие свойства заполнять какими

[DataContract]
public class Order
{
    [DataMember(EmitDefaultValue = false)]
    public string orderMode { get; set; }

    [DataMember]
    public List<Item> nonFabricLineItemDetails { get; set; }
        
    [DataMember]
    public List<Item> fabricLineItemDetails { get; set; }

    [DataMember(EmitDefaultValue = false)]
    public string orderRefNo { get; set; }

    [DataMember(EmitDefaultValue = false)]
    public string courierId { get; set; }

    [DataMember(EmitDefaultValue = false)]
    public string customerID { get; set; }

}

[DataContract]
public class Item
{
    [DataMember(EmitDefaultValue = false)]
    public string itemID { get; set; }

    [DataMember(EmitDefaultValue = false)]
    public string quantity { get; set; }
}