为了账号安全,请及时绑定邮箱和手机立即绑定

在 C# 中将列表转换为 json

在 C# 中将列表转换为 json

C#
不负相思意 2021-11-28 19:29:17
我使用此方法从列表中生成 JSON:last code但返回 JSON 有如下错误:期望对象或数组,而不是字符串多个 JSON 根元素您在此链接中看到 JSON 文件并在此站点中对其进行测试:编辑:我用这个更改我的代码:[HttpPost]    [Route("api/Users/GetAllGoodInCat")]    public object GetAllGoodInCat([FromBody]GoodsCatId goodsCatId)    {        try        {            if (goodsCatId.id != 0)            {                var getCat = (from a in db.goodsGroups                                 where a.Id == goodsCatId.id                                 select a).SingleOrDefault();                if (getCat != null)                {                    var getAllfood = from a in db.goods                        where a.groupId == goodsCatId.id                        orderby a.Id                        select a;                    var resultList = new List<string>();                    foreach (var good in getAllfood)                    {                        var obj = new SearchGoods()                        {                            good = new MyGoods                            {                                id = good.Id,                                name = good.name,                                price = good.price,                                brand = new MyGoodsBrand                                {                                    id = getCat.Id,                                    name = getCat.title,                                    image = getCat.image                                }                            }                        };现在我的 json 就像这个链接:[   "{\"good\":{\"id\":1,\"name\":\"برنج دانه بلند محسن\",\"price\":20000,\"brand\":{\"id\":22,\"name\":\"برنج محسن\",\"image\":\"testmy.png\"}}}",   "{\"good\":{\"id\":2,\"name\":\"برنج عطری\",\"price\":30000,\"brand\":{\"id\":22,\"name\":\"برنج محسن\",\"image\":\"testmy.png\"}}}",   "{\"good\":{\"id\":3,\"name\":\"برنج سر سیاه\",\"price\":15000,\"brand\":{\"id\":22,\"name\":\"برنج محسن\",\"image\":\"testmy.png\"}}}"]但我想要这样的东西还有 (\) 是 json 文件吗?
查看完整描述

3 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

我建议您使用Nuget Package 上提供的 C# NewtonSoft Json Package。

你可以这样做:

 var resultList = new List<SearchGoods>();

和:

resultList.Add(obj);

最后只返回:

return JsonConvert.SerializeObject(resultList);

它应该给你正确的结果。


查看完整回答
反对 回复 2021-11-28
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

我认为你的方法类型应该是 JsonResult 像这样

  public JsonResualt GetAllGoodInCat([FromBody]GoodsCatId goodsCatId){}

在返回方法中,您应该像这样返回 Json

return Json(model, JsonRequestBehavior.AllowGet);


查看完整回答
反对 回复 2021-11-28
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

您的 json 格式无效,这就是您收到所有这些错误的原因。你有 "" 包围了你的 json 的每个对象和数组。只需删除它,你就可以开始了。


我已经清理了你的 json :


[


  {

    "id": 2,

    "name": "نوشیدنی",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 11,

        "parentId": 2,

        "name": "نوشابه",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 25,

            "parentId": 11,

            "name": "نوشابه پپسی",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 2,

    "name": "نوشیدنی",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 12,

        "parentId": 2,

        "name": "آبمیوه",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 26,

            "parentId": 12,

            "name": "آبمیوه سن ایچ",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 3,

    "name": "کالای اساسی",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 9,

        "parentId": 3,

        "name": "برنج",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 22,

            "parentId": 9,

            "name": "برنج محسن",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 3,

    "name": "کالای اساسی",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 10,

        "parentId": 3,

        "name": "روغن",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 24,

            "parentId": 10,

            "name": "روغن لادن",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 4,

    "name": "تنقلات",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 13,

        "parentId": 4,

        "name": "چیپس",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 27,

            "parentId": 13,

            "name": "چپیس مزمز",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 4,

    "name": "تنقلات",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 14,

        "parentId": 4,

        "name": "پاستیل",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 28,

            "parentId": 14,

            "name": "پاستیل مزمز",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 5,

    "name": "کنسرو و غذای آماده",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 15,

        "parentId": 5,

        "name": "تن ماهی",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 29,

            "parentId": 15,

            "name": "تن جنوب",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 5,

    "name": "کنسرو و غذای آماده",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 16,

        "parentId": 5,

        "name": "کمپوت",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 30,

            "parentId": 16,

            "name": "کمپوت بهرام",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 6,

    "name": "چاشنی و افزودنی",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 17,

        "parentId": 6,

        "name": "آبمیوه",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 31,

            "parentId": 17,

            "name": "آبمیوه مزمز",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 6,

    "name": "چاشنی و افزودنی",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 18,

        "parentId": 6,

        "name": "زعفران",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 32,

            "parentId": 18,

            "name": "زعفران خراسان",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 7,

    "name": "لبنیات و پروتوئین",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 19,

        "parentId": 7,

        "name": "شیر",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 33,

            "parentId": 19,

            "name": "شیر خسرو",

            "image": "testmy.png"

          }

        ]

      }

    ]

  },

  {

    "id": 7,

    "name": "لبنیات و پروتوئین",

    "image": "test.png",

    "subLevelOne": [

      {

        "id": 20,

        "parentId": 7,

        "name": "ماست",

        "image": "mytest.png",

        "subLevelTwo": [

          {

            "id": 34,

            "parentId": 20,

            "name": "ماست کریم",

            "image": "testmy.png"

          }

        ]

      }

    ]

  }

]

希望能帮到你!


查看完整回答
反对 回复 2021-11-28
  • 3 回答
  • 0 关注
  • 340 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信