Member 14762608 Ответов: 1

Как изменить структуру json с помощью C#


Привет,

Я получаю нижеприведенный формат json при преобразовании xml в json...


"Packages":

{
"PackageOccurrence": 1,
"PackagingId": "",
"Weight": 0.75,
"Length": 15,
"Width": 15,
"Height": 15
},
"Items": 


{
"ItemId": "",
"Quantity": 1,
"Description": "White Tee-shirt",
"Value": 100,
"Weight": 0.75,
"PackageOccurrence": 1,
"HsCode": "652534",
"SkuCode": "SKU3455692",
"CountryOfOrigin": "CN",
}


использование приведенного ниже кода для преобразования
string jsonText = JsonConvert.SerializeXmlNode(doc);
           JObject json = JObject.Parse(jsonText);



Но мой ожидаемый результат должен быть следующим :

"Packages": 

[

{
"PackageOccurrence": 1,
"PackagingId": "",
"Weight": 0.75,
"Length": 15,
"Width": 15,
"Height": 15
}
],
"Items": 

[

{
"ItemId": "",
"Quantity": 1,
"Description": "White Tee-shirt",
"Value": 100,
"Weight": 0.75,
"PackageOccurrence": 1,
"HsCode": "652534",
"SkuCode": "SKU3455692",
"CountryOfOrigin": "CN",
"ImageUrl": "http://www.myimagestore.com/myimage.jpg"
}
]


есть ли какое-либо решение для преобразования свойства json в массив ?

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

JObject Shipper = (JObject)rss["Shipment"];
Shipper.Property("Packages").ToArray();
Shipper.Property("Items").ToArray();
jsonText = rss.ToString();


но это не работает для меня

Richard Deeming

Как выглядит XML-узел, который вы сериализуете?

1 Ответов

Рейтинг:
1

hailu worku

Шаг 1: Вы должны создать два класса, которые представляют ваш файл.
Шаг 2: Де-сериализации JSON-файл, чтобы эти классы
Шаг 3: Измените значения того, что вы хотите изменить
Шаг 4: Наконец, Сериализуйте классы в виде файла Json.


Классы, которые вы можете использовать:;

public class Items
   {
       public string ItemId { get; set; }
       public int Quantity { get; set; }
       public string Description { get; set; }
       public int Value { get; set; }
       public float Weight { get; set; }
       public int PackageOccurrence { get; set; }
       public string HsCode { get; set; }
       public string SkuCode { get; set; }
       public string CountryOfOrigin { get; set; }
   }

   public class Packages
   {
       public int PackageOccurrence { get; set; }
       public string PackagingId { get; set; }
       public float Weight { get; set; }
       public int Length { get; set; }
       public int Width { get; set; }
       public int Height { get; set; }
   }