通過JObject和JArray創建JSON對象
我們先用非常簡單的方法來動態創建一些JSON,可通過JToken派生的JSON.NET對象來進行,最常見的JToken派生的類是JObject和JArray。
正是因爲JToken實現了IDynamicMetaProvider動態語言接口,所以可以使用dynamic關鍵字直觀地創建動態對象,並把這個動態對象序列化爲JSON字符串。 我們通過JArray和JObject來創建一個示例:
[TestMethod]
public void JObjectOutputTest()
{
// strong type instance
var jsonObject = new JObject();
// you can explicitly add values here
jsonObject.Add(“Entered”, DateTime.Now);
// dynamic expando instance you can add properties to
dynamic album = jsonObject;
album.AlbumName = “Dirty Deeds Done Dirt Cheap”;
album.Artist = “AC/DC”;
album.YearReleased = 1976;
album.Songs = new JArray() as dynamic;
dynamic song = new JObject();
song.SongName = “Dirty Deeds Done Dirt Cheap”;
song.SongLength = “4:11”;
album.Songs.Add(song);
song = new JObject();
song.SongName = “Love at First Feel”;
song.SongLength = “3:10”;
album.Songs.Add(song);
Console.WriteLine(album.ToString());
}
運行上面的示例代碼,就能形成以下結構的JSON內容:
{
“Entered”: “2012-08-18T13:26:37.7137482-10:00”,
“AlbumName”: “Dirty Deeds Done Dirt Cheap”,
“Artist”: “AC/DC”,
“YearReleased”: 1976,
“Songs”: [
{
“SongName”: “Dirty Deeds Done Dirt Cheap”,
“SongLength”: “4:11”
},
{
“SongName”: “Love at First Feel”,
“SongLength”: “3:10”
}
]
}
C#給JSON對象添加一個鍵值對
/// 添加一個屬性
///
///
/// 待添加屬性的對象
/// 鍵名
/// 值
/// 添加屬性後的對象
public static object Add(object obj, string key, object value)
{
JObject jObj = JObject.Parse(JsonConvert.SerializeObject(obj));
jObj.Add(new JProperty(key, value));
return JsonConvert.DeserializeObject(jObj.ToString());
}
————————————————
版權聲明:本文爲CSDN博主「BruceYang~」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_34187499/article/details/99085935