与json.net中的c#中的json进行挑选



说我有以下JSON文档:

{
    "table": [
        {
            "wiki": "http://en.wikipedia.org/wiki/Period%201%20element",
            "elements": [
                {
                    "group": "",
                    "position": 0,
                    "name": "Hydrogen",
                    "number": 1,
                    "small": "H",
                    "molar": 1.00794,
                    "electrons": [
                        1
                    ]
                },
                {
                    "group": "Element Noble p",
                    "position": 17,
                    "name": "Helium",
                    "number": 2,
                    "small": "He",
                    "molar": 4.002602,
                    "electrons": [
                        2
                    ]
                }
            ]
        },
        {
            "wiki": "http://en.wikipedia.org/wiki/Period%202%20element",
            "elements": [
                {
                    "group": "Element Alkali s",
                    "position": 0,
                    "name": "Lithium",
                    "number": 3,
                    "small": "Li",
                    "molar": 6.941,
                    "electrons": [
                        2,
                        1
                    ]
                },
                {
                    "group": "Element Alkaline s",
                    "position": 1,
                    "name": "Beryllium",
                    "number": 4,
                    "small": "Be",
                    "molar": 9.012182,
                    "electrons": [
                        2,
                        2
                    ]
                },
                {
                    "group": "Element Metalloid Boron p",
                    "position": 12,
                    "name": "Boron",
                    "number": 5,
                    "small": "B",
                    "molar": 10.811,
                    "electrons": [
                        2,
                        3
                    ]
                },
                {
                    "group": "Element Nonmetal Carbon p",
                    "position": 13,
                    "name": "Carbon",
                    "number": 6,
                    "small": "C",
                    "molar": 12.0107,
                    "electrons": [
                        2,
                        4
                    ]
                },
                {
                    "group": "Element Nonmetal Pnictogen p",
                    "position": 14,
                    "name": "Nitrogen",
                    "number": 7,
                    "small": "N",
                    "molar": 14.0067,
                    "electrons": [
                        2,
                        5
                    ]
                },
                {
                    "group": "Element Nonmetal Chalcogen p",
                    "position": 15,
                    "name": "Oxygen",
                    "number": 8,
                    "small": "O",
                    "molar": 15.9994,
                    "electrons": [
                        2,
                        6
                    ]
                },
                {
                    "group": "Element Halogen p",
                    "position": 16,
                    "name": "Fluorine",
                    "number": 9,
                    "small": "F",
                    "molar": 18.998404,
                    "electrons": [
                        2,
                        7
                    ]
                },
                {
                    "group": "Element Noble p",
                    "position": 17,
                    "name": "Neon",
                    "number": 10,
                    "small": "Ne",
                    "molar": 20.1797,
                    "electrons": [
                        2,
                        8
                    ]
                }
            ]
        }

...然后继续...

我如何将此JSON的序列化为称为元素的类?如果您愿意,可以忽略" Wiki"字段。

我尝试了:

Table t = JsonConvert.DeserializeObject<Table> (lines);
class Table {
    public string wiki;
    public Element[] element;
}
class Element {
    public string group, name, small;
    public int position, numer;
    public double molar;
    public int[] electrons;
}

我无法工作。

您在类成员中有几个错别字,但必不可少的部分如下:

看一下JSON文档的开头:

{
    "table": [

本质上意味着您需要一个具有 array 属性的对象,称为 table

正确的类是:

class Root
{
    public Table[] table;
}
class Table
{
    public string wiki;
    public Element[] elements;
}
class Element
{
    public string group, name, small;
    public int position, number;
    public double molar;
    public int[] electrons;
}

和避难代码:

var root = JsonConvert.DeserializeObject<Root>(lines);
Parent = JsonConvert.DeserializeObject<Parent> (lines);
class Parent {
    public Mid[] table;
}
class Mid {
    public string wiki;
    public Element[] elements;
}
class Element {
    public string group, name, small;
    public int position, numer;
    public double molar;
    public int[] electrons;
}

相关内容

  • 没有找到相关文章

最新更新