diff --git a/Examples/zore_entity/JObjectExtensions.cs b/Examples/zore_entity/JObjectExtensions.cs
new file mode 100644
index 00000000..d8ef3fc9
--- /dev/null
+++ b/Examples/zore_entity/JObjectExtensions.cs
@@ -0,0 +1,68 @@
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+public static class JObjectExtensions
+{
+ ///
+ /// 将JObject转化成字典
+ ///
+ ///
+ ///
+ public static Dictionary ToDictionary(this JToken json)
+ {
+ var propertyValuePairs = json.ToObject>();
+ ProcessJObjectProperties(propertyValuePairs);
+ ProcessJArrayProperties(propertyValuePairs);
+ return propertyValuePairs;
+ }
+
+ private static void ProcessJObjectProperties(Dictionary propertyValuePairs)
+ {
+ var objectPropertyNames = (from property in propertyValuePairs
+ let propertyName = property.Key
+ let value = property.Value
+ where value is JObject
+ select propertyName).ToList();
+
+ objectPropertyNames.ForEach(propertyName => propertyValuePairs[propertyName] = ToDictionary((JObject)propertyValuePairs[propertyName]));
+ }
+
+ private static void ProcessJArrayProperties(Dictionary propertyValuePairs)
+ {
+ var arrayPropertyNames = (from property in propertyValuePairs
+ let propertyName = property.Key
+ let value = property.Value
+ where value is JArray
+ select propertyName).ToList();
+
+ arrayPropertyNames.ForEach(propertyName => propertyValuePairs[propertyName] = ToArray((JArray)propertyValuePairs[propertyName]));
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static object[] ToArray(this JArray array)
+ {
+ return array.ToObject