//aardio 调用 .NET 之 JSON 转换 import console; import JSON; import dotNet.json; import System.Collections; //创建 .NET 的 ArrayList 数组 var arrList = System.Collections.ArrayList(); arrList.Add(123); arrList.Add("字符串"); //.NET 对象转换为 JSON var json = dotNet.json.SerializeObject(arrList); console.log(json); //导入 dotNet.json 以后 JSON 会自动支持 .NET对象 console.log(JSON.stringify(arrList)); //这个函数内部也是调用 JSON.stringify console.dumpJson(arrList); //JSON 解析为 .NET 对象 var obj = dotNet.json.DeserializeObject(json); console.log(obj); /*------------------------------------------------------ *以下为调用 Newtonsoft.Json 实现 JSON Path 查询演示 ------------------------------------------------------*/ JObject = dotNet.json.Linq.JObject; //参考: https://www.newtonsoft.com/json/help/html/QueryJsonSelectToken.htm var jObj = JObject.Parse("{ 'Space Invaders': ['Taito'], 'Doom ]|[': 'id', ""Yar's Revenge"": 'Atari', 'Government ""Intelligence""': 'Make-Believe' }"); //JSON Path 查询 var spaceInvaders = jObj.SelectToken("['Space Invaders']"); //.NET 对象转换为字符串 var str = tostring(spaceInvaders); console.log(str); //.NET 对象转换为纯 aardio 对象 var obj = JSON.strip(spaceInvaders); console.dump(obj); console.pause();