json使用newtonsoft

时间:2018-07-22 19:02:52

标签: c# json serialization json.net

我想使用newtonsoft json序列化程序创建json。 我是新建LIST和收藏集的新手,所以我会向您寻求帮助。 创建一个简单的json就可以了。 我必须建立一个带有属性列表的属性列表。

Maybee还有另一个库,这使它更容易吗?

我需要这个json:

{
    "objectTypeId": 545,
    "attributes": [{
        "objectTypeAttributeId": 222,
        "objectAttributeValues": [{
            "value": "Kommentar"
        }]
    }]
}

为此,我开始学习

public class Controller
{
        public int objectTypeId { get; set; }
        public IList<string> attributes { get; set; }
}

Controller controllerjson = new Controller
{
  objectTypeId = 545,
  // How to add the attributes with each values ?
}

1 个答案:

答案 0 :(得分:0)

您的c#类模型无法与JSON数据匹配。

有两种方法可以轻松地创建模型。

  1. 您可以在Visual Studio中使用Web Essentials,使用“编辑”>“选择性粘贴”>将JSON粘贴为类,可以更轻松地了解Json与模型之间的关系。

  2. 如果您不能使用Web Essentials,则可以代替使用http://json2csharp.com/在线JSON到Model类。

您可以尝试使用这些模型来携带JSON格式。

public class ObjectAttributeValue
{
    public string value { get; set; }
}

public class Attribute
{
    public int objectTypeAttributeId { get; set; }
    public List<ObjectAttributeValue> objectAttributeValues { get; set; }
}

public class RootObject
{
    public int objectTypeId { get; set; }
    public List<Attribute> attributes { get; set; }
}

您可以这样使用。

RootObject controllerjson = new RootObject()
{
    objectTypeId = 545,
    attributes = new List<Attribute>() {
        new Attribute() {
            objectTypeAttributeId = 222,
            objectAttributeValues = new List<ObjectAttributeValue>() {
                new ObjectAttributeValue() { value= "Kommentar" }
            }
        }
    }
};

string jsonStr = JsonConvert.SerializeObject(controllerjson);

c# online