簡體   English   中英

json使用newtonsoft序列化列表

[英]json serialize Lists with newtonsoft

我想使用newtonsoft json serialzer創建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 ?
}

您的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#在線

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM