Exemplo n.º 1
0
        /// <summary>
        /// 对象 转换到 Json
        /// </summary>
        /// <exception cref="JsonException"></exception>
        /// <exception cref="JsonFormatException"></exception>
        /// <returns></returns>
        public static Json TargetToJson(object obj)
        {
            if (obj == null)
            {
                return(Json.Null);
            }

            var type    = obj.GetType();
            var members = JsonUtility.GetJsonMemberAttributes(type);
            var json    = new JsonObject();

            foreach (var member in members)
            {
                if (member.CanRead)
                {
                    var jval = member.GetValue(obj);
                    json[member.Name] = jval;
                }
            }

            json[nameof(IJsonDynamicObject.ClassName)] = JsonType.GetNameByType(type);
            return(json);
        }