JDynamic:支援Json反序列化為Dynamic物件
2010年 .NET 4.0 釋出前後,從3.5向4.0遷移,那時也有一些異構系統的需求,主要是和PHP打交道,通訊使用的HTTP 格式為JSON。
不過因為介面比較多,也沒有統一規範,PHP端相對是制定介面的一方,所以.NET中反序列化時就顯得被動了一些。
當時看中了Dynamic方便使用的優勢,並以ASP.NET MVC中 ViewBag->ViewData的轉換為參考,制定了一些簡單的測試用例,後期就是完善了這些測試用例,使之可以成為一個簡單易用的工具類。
最近整理了一下,把這個工具類放到了Codeplex上 http://jdynamic.codeplex.com/
以下是一些測試用例:
一、直接獲取值
dynamic json = new JDynamic(“1”);
json.Value //這樣就可以讀到1
二、JSON物件
dynamic json = new JDynamic(“{a:`abc`}”);
json.a 可以得到字串 “abc”
dynamic json = new JDynamic(“{a:3.1416}”);
json.a 的值是 3.1416m
dynamic json = new JDynamic(“{a:1}”);
json.a 的值是 1
三、集合
dynamic json = new JDynamic(“[1,2,3]”);
json.Length/json.Count 這兩個屬性是 3
也可以使用下標來讀取: json[0]/ json[2]
dynamic json = new JDynamic(“{a:[1,2,3]}”);
可以這樣來讀取 json.a[0]/ json.a[2]
dynamic json = new JDynamic(“[{b:1},{c:1}]”);
可以這樣來讀取int的值 json[0].b/json[1].c
四、巢狀JSON物件
dynamic json = new JDynamic(“{a:{a:1} }”);
json.a.a 可以讀出值1.
相關文章
- JavaScript物件序列化為JSONJavaScript物件JSON
- python json反序列化為物件PythonJSON物件
- JSON 物件序列化、反序列化JSON物件
- 客戶端序列化JSON物件客戶端JSON物件
- C# 中使物件序列化/反序列化 Json 支援使用派生型別以及泛型的方式C#物件JSON型別泛型
- Java物件的序列化與反序列化-Json篇Java物件JSON
- 關於物件序列化json 說說物件JSON
- Json反序列化物件通用工具類JSON物件
- Python實現JSON反序列化類物件PythonJSON物件
- C# json to dynamic objectC#JSONObject
- C++ 輕量級物件JSON序列化實現C++物件JSON
- eval() JSON轉換為物件JSON物件
- Python序列化模型資料為JSONPython模型JSON
- C#中實現JSON功能及物件的序列化和反序列化C#JSON物件
- [.net 物件導向程式設計進階] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json類物件程式設計JSON
- 為什麼Java需要物件的序列化Java物件
- 物件序列化(序列化)物件
- 序列化: 一個老傢伙的鹹魚翻身(Java物件、XML、JSON、反序列化)Java物件XMLJSON
- php陣列轉換為json,json又轉化為php物件。PHP陣列JSON物件
- JSON-B:簡化 JSON 序列化和反序列化JSON
- 將物件解析為JSON資料和將JSON資料解析為物件的簡單例項物件JSON單例
- FastJSON解析Json字串(反序列化為List、Map)ASTJSON字串
- java將物件轉為json的方式Java物件JSON
- JSON字串轉換為物件直接量JSON字串物件
- js 將json字串轉換為json物件的方法解析JSON字串物件
- java json字串轉換為物件,轉換為listJavaJSON字串物件
- [.net 物件導向程式設計進階] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化物件程式設計JSON
- go裡面如何將[]int json序列化為[]string?GoJSON
- Flutter中JSON序列化與反序列化FlutterJSON
- C#序列化和反序列化(json)C#JSON
- C# 序列化與反序列化jsonC#JSON
- Kotlin Json 序列化KotlinJSON
- Python實現支援JSON儲存和解析的物件PythonJSON物件
- JavaScript將物件轉換為JSON格式字串JavaScript物件JSON字串
- eval()將JSON格式字串轉換為物件JSON字串物件
- JavaScript將JSON格式字串轉換為物件JavaScriptJSON字串物件
- jquery將物件序列化為字串程式碼例項jQuery物件字串
- JSON 物件JSON物件