如何在C#中将包含嵌套数组的String数组转换为JSON

时间:2019-07-05 13:01:20

标签: c# json

如何将子数组转换为json。我尝试过

 JArray _extra = JArray.Parse(extra.OrderOfferObject);
 if (_extra.Count() > 0)
    return Ok(new
    {
       Data = _extra, // ---
    }

因此它确实将字符串转换为JArray,但是跳过了内部数组。这是响应:

Data: [{ Category: "Chicken Rice",
         Ingredients: "[{ExtraQuantity=1, ExtraPrice=11.99, ExtraTitle=Regular}, 
        {ExtraQuantity=1, ExtraPrice=0.0, ExtraTitle=Stuffed Cheese}, 
        {ExtraQuantity=1, ExtraPrice=0.0, ExtraTitle=Sauce BBQ}}]"}]

谢谢,我该如何转换内部的

更新

var extra = (from orderOffer in extraEntities.ORDER_OFFER
      where orderOffer.OrderOfferId == orderOfferId

      select new
      {
         orderOffer.OrderOfferObject
      }).FirstOrDefault();

其中OrderOfferObject是具有嵌套数组的字符串类型的数组。我尝试将JArray.parse转换为JsonArray。唉!如您所见,它没有转换嵌套数组。

1 个答案:

答案 0 :(得分:0)

似乎嵌套字符串的格式错误。

当前您的字符串对象是这个:

{ExtraQuantity=1, ExtraPrice=11.99, ExtraTitle=Regular}

应该是这样的:

{ExtraQuantity: 1, ExtraPrice: 11.99, ExtraTitle: Regular}

一旦您的对象好了。 JArray。仅使用parse()可以解决问题。