C# 關於JArray和JObject封裝JSON對象

直入主題,不廢話...

一、JObject:基本的json對象

/// <summary>
    /// Gets the j object.
    /// </summary>
    /// <returns></returns>
    public JObject GetJObject()
    {
        var obj = new JObject {{"Name", "Mark" } };
        return obj;
    }

二、JObject:嵌套子對象(JObject嵌JObject)

/// <summary>
    /// Gets the j object.
    /// </summary>
    /// <returns></returns>
    public JObject GetJObject()
    {
        var obj = new JObject {{"Name", "Mark"}, {"Age", 8 }};
        var info = new JObject {{"Phone", "132****7777"}, {"Gender", "男"}};
        obj.Add("Info", info);
        return obj;
    }

三、JArray:基本json對象中的數組

/// <summary>
    /// Gets the j array.
    /// </summary>
    /// <returns></returns>
    public JArray GetJArray()
    {
        var jarray = new JArray();
        var mark = new JObject { { "Name", "Mark" }, { "Age", 8 } };
        var jack = new JObject { { "Name", "Jack" }, { "Age", 9 } };
        jarray.Add(mark);
        jarray.Add(jack);
        return jarray;
    }

四、JArray: 多個json對象數組

/// <summary>
    /// Gets the j array.
    /// </summary>
    /// <returns></returns>
    public JObject GetJArray()
    {
        var obj = new JObject();
        var student = new JArray
        {
            new JObject {{ "Name", "Mark" }, { "Age", 8 } },
            new JObject {{ "Name", "Jack" }, { "Age", 9 } }
        };
        var results = new JArray
        {
            new JObject {{ "Subject", "語文"}, { "Score", 100}},
            new JObject {{ "Subject", "數學" }, { "Score", 88}}
        };
        obj.Add("Student", student);
        obj.Add("Results", results);
        return obj;
    }

五、JArray:json數組嵌套數組(一個學生對應多個課程分數)

/// <summary>
    /// Gets the results.
    /// </summary>
    /// <returns></returns>
    public JObject GetResults()
    {
        var mark = new JObject { { "Name", "Mark" }, { "Age", "8" } };
        var results = new JArray
        {
            new JObject {{ "Subject", "語文"}, { "Score", 100}},
            new JObject {{ "Subject", "數學" }, { "Score", 88}}
        };            
        mark.Add("Results", results);
        return mark;
    }

總結:寫接口的時候,相似上面的5種狀況常常會遇到,有時候會弄糊塗,算一次簡單的複習吧。

相關文章
相關標籤/搜索