JSON序列化和反序列化在C# [英] json serialization and deserialization in c#

查看:174
本文介绍了JSON序列化和反序列化在C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建sample.Please企业的一个粗略的JSON数据,并试图帮助我所需要的解决方案。

I have created a rough json data sample.Please corporate and try to help me for the required solution.

我想现在的阶级结构以及如何检索,也使通过C#这种格式的JSON。我有四张桌子,tblcategory(包括所有类别),tblcatmapping(包含类映射),tblitemmapping(包含映射项目和类别),并tblitem(包含所有项目)

I want to now the class structures and how to retrieve and also make json of this format through c#.I have four tables-tblcategory(contains all categories),tblcatmapping(contains the category mapping),tblitemmapping(contains the mapping of item and category) and tblitem(contains all the items)

 [
{
    "CATID": "10001",
    "CATNAME": "food",
    "CATTYPE": "top",
    "CATDESC": "contains different types of food",
    "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 11-41-29-food.jpg",
    "CATSUBCAT": [
        {
            "CATID": "10002",
            "CATNAME": "veg",
            "CATTYPE": "sub",
            "CATDESC": "contains different drinks",
            "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg",
            "CATSUBCAT": [
                {
                    "CATID": "10004",
                    "CATNAME": "nort-indian",
                    "CATTYPE": "sub",
                    "CATDESC": "contains different drinks",
                    "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg",
                    "CATSUBCAT": [],
                    "CATITEM": [
                        {
                            "ITEMID": "20002",
                            "ITEMNAME": "dosa",
                            "ITEMTYPE": "item",
                            "ITEMDESC": "contains different dosa",
                            "ITEMIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg"
                        },
                        {
                            "ITEMID": "20003",
                            "ITEMNAME": "idli",
                            "ITEMTYPE": "item",
                            "ITEMDESC": "contains different idli",
                            "ITEMIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg"
                        }
                    ]
                },
                {
                    "CATID": "10005",
                    "CATNAME": "south-indian",
                    "CATTYPE": "sub",
                    "CATDESC": "contains different drinks",
                    "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg",
                    "CATSUBCAT": [],
                    "CATITEM": []
                }
            ],
            "CATITEM": []
        },
        {
            "CATID": "10003",
            "CATNAME": "non-veg",
            "CATTYPE": "sub",
            "CATDESC": "contains different drinks",
            "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg",
            "CATSUBCAT": [
                {
                    "CATID": "10004",
                    "CATNAME": "nort-indian",
                    "CATTYPE": "sub",
                    "CATDESC": "contains different drinks",
                    "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg",
                    "CATSUBCAT": [],
                    "CATITEM": []
                },
                {
                    "CATID": "10005",
                    "CATNAME": "south-indian",
                    "CATTYPE": "sub",
                    "CATDESC": "contains different drinks",
                    "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg",
                    "CATSUBCAT": [],
                    "CATITEM": []
                }
            ],
            "CATITEM": []
        }
    ],
    "CATITEM": []
},
{
    "CATID": "10006",
    "CATNAME": "beverages",
    "CATTYPE": "top",
    "CATDESC": "contains different drinks",
    "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg",
    "CATSUBCAT": [
        {
            "CATID": "10007",
            "CATNAME": "alcholic-drinks",
            "CATTYPE": "top",
            "CATDESC": "contains different drinks",
            "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg",
            "CATSUBCAT": [],
            "CATITEM": []
        },
        {
            "CATID": "10008",
            "CATNAME": "non-alcholic-drinks",
            "CATTYPE": "top",
            "CATDESC": "contains different drinks",
            "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg",
            "CATSUBCAT": [],
            "CATITEM": []
        }
    ],
    "CATTITEM": []
},
{
    "CATID": "10009",
    "CATNAME": "fast food",
    "CATTYPE": "top",
    "CATDESC": "contains various fast foods",
    "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-22-08-fastfood1.jpg",
    "CATSUBCAT": [],
    "CATITEM": [
        {
            "ITEMID": "20002",
            "ITEMNAME": "dosa",
            "ITEMTYPE": "item",
            "ITEMDESC": "contains different dosa",
            "ITEMIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg"
        },
        {
            "ITEMID": "20003",
            "ITEMNAME": "idli",
            "ITEMTYPE": "item",
            "ITEMDESC": "contains different idli",
            "ITEMIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\09-09-2013 12-15-19-beverages.jpeg"
        }
    ]
},
{
    "CATID": "10015",
    "CATNAME": "test",
    "CATTYPE": "top",
    "CATDESC": "contains test categories",
    "CATIMGPATH": "Z:\\TFS workspace\\DineGenie - Dev\\DineGenie - Dev\\Filestore\\category\\19-09-2013 15-46-19-southindian2.png",
    "CATSUBCAT": [],
    "CATITEM": []
}
]

从下面的建议,我尝试用 http://json2csharp.com/到JSON样品C#code转换>以下是:

阶级结构

public class RootObject
{
public string CATID { get; set; }
public string CATNAME { get; set; }
public string CATTYPE { get; set; }
public string CATDESC { get; set; }
public string CATIMGPATH { get; set; }
public List<object> CATSUBCAT { get; set; }
public List<object> CATITEM { get; set; }
public List<object> CATTITEM { get; set; }

}

但我不是在上面的对象中获取是什么类型的

But i am not getting in the above object is of what type

推荐答案

根据您正在使用的Visual Studio的版本,你可以尝试编辑 - &GT;选择性粘贴 - &GT;粘贴JSON作为类

Depending on the Visual Studio version you're working with, you can try Edit -> Paste Special -> Paste JSON As Classes.

<一个href=\"http://blogs.msdn.com/b/webdev/archive/2012/12/18/paste-json-as-classes-in-asp-net-and-web-tools-2012-2-rc.aspx\"相对=nofollow称号=示例粘贴JSON作为类>在这里看到的例子。

有关序列化和反序列化,我可以强烈推荐 JSON.NET
它具有比默认的.NET序列化的方式更多的功能。

For serialization and deserialization I can highly recommend JSON.NET. It has way more features than the default .NET serializers.

如果您有类和使用JSON.NET,你可以反序列化的字符串是这样的:

If you have the classes and use JSON.NET, you can deserialize your string like this:

MyClass[] instances = JsonConvert.DeserializeObject<MyClass[]>(jsonString);

这篇关于JSON序列化和反序列化在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆