C# 动态解析JSON对象 代码

#region public class JsonObject 动态操作JSON对象
    public class JsonObject
    {
        /// <summary>
        /// 解析JSON字串
        /// </summary>
        public static JsonObject Parse(string json)
        {
            var js = new JavaScriptSerializer();

            object obj = js.DeserializeObject(json);

            return new JsonObject()
            {
                Value = obj
            };
        }

        /// <summary>
        /// 取对象的属性
        /// </summary>
        public JsonObject this[string key]
        {
            get
            {
                var dict = this.Value as Dictionary<string, object>;
                if (dict != null && dict.ContainsKey(key))
                {
                    return new JsonObject { Value = dict[key] };
                }

                return new JsonObject();
            }

        }

        /// <summary>
        /// 取数组
        /// </summary>
        public JsonObject this[int index]
        {
            get
            {
                var array = this.Value as object[];
                if (array != null && array.Length > index)
                {
                    return new JsonObject { Value = array[index] };
                }
                return new JsonObject();
            }
        }

        /// <summary>
        /// 将值以希望类型取出
        /// </summary>
        public T GetValue<T>()
        {
            return (T)Convert.ChangeType(Value, typeof(T));
        }

        /// <summary>
        /// 取出字串类型的值
        /// </summary>
        public string Text()
        {
            return Convert.ToString(Value);
        }

        /// <summary>
        /// 取出数值
        /// </summary>
        public double Number()
        {
            return Convert.ToDouble(Value);
        }

        /// <summary>
        /// 取出整型
        /// </summary>
        public int Integer()
        {
            return Convert.ToInt32(Value);
        }

        /// <summary>
        /// 取出布尔型
        /// </summary>
        public bool Boolean()
        {
            return Convert.ToBoolean(Value);
        }

        /// <summary>
        /// 值
        /// </summary>
        public object Value
        {
            get;
            private set;
        }

        /// <summary>
        /// 如果是数组返回数组长度
        /// </summary>
        public int Length
        {
            get
            {
                var array = this.Value as object[];
                if (array != null)
                {
                    return array.Length;
                }
                return 0;
            }
        }

    }
    #endregion

  

时间: 2024-11-25 04:23:41

C# 动态解析JSON对象 代码的相关文章

使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)

在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象),在这篇文章中我将通过JToken.JObject和JArray来动态解析JSON对象,使它很容易创建和检索的JSON内容而无需基础类型.通过JObject和JArray创建JSON对象我们先用非常简单的方法来动态创建一些JSON,可通过JToken派生的JSON.NET对象来进行,最常见的JTo

javascript如何解析json对javascript如何解析json对象并动态赋值到select列表象并动态赋值到select列表

原文 javascript如何解析json对象并动态赋值到select列表 JSON(JavaScriptObject Notation)一种简单的数据格式,比xml更轻巧.JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包. JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合.一个对象以“{”(左括号)开始,“}”(右括号)结束.每个“名称”后跟一个“:”(冒号):“‘名称/值’对”之间使用“,”(逗号)分隔. 在开

Java解析JSON对象

今天学习一下Java 解析 JSON 准备工作 参考文档 1) www.json.org 2 ) 参考公司其他人的代码(这个就不说了) 依赖jar包 1) org.json.jar 提供以下我的网盘链接 http://pan.baidu.com/s/1jG2zSwe 主要的类 JSON主要有两种结构 1)name/value 的集合 2)value 的集合,在大多数语言中的list,array等,这里的 value 个人觉得就是一个JSON,也就是说是JSON的集合 JAVA处理JSON的类 1

JS 动态生成JSON对象

JS 动态生成JSON对象,一般用到JSON传递参数的时候,会用到. function onGeneratedRow(columnsResult) { var jsonData = {}; columnsResult.forEach(function(column) { var columnName = column.metadata.colName; jsonData[columnName] = column.value; }); viewData.employees.push(jsonDat

Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解

一.Jquery遍历筛选数组 1.jquery grep()筛选遍历数组 $().ready( function(){ var array = [1,2,3,4,5,6,7,8,9]; var filterarray = $.grep(array,function(value){ return value > 5;//筛选出大于5的 }); for(var i=0;i<filterarray.length;i++){ alert(filterarray[i]); } for (key in f

java代码解析json对象获取json对象属性值

说明:解析JSON需要用到 org.json.jar 架包,下载地址:http://download.csdn.net/detail/wtingting5211314/7641749 代码如下: package com.ultrapower.syn.webservice.test; import org.json.JSONArray;import org.json.JSONObject; public class TestJson { /**  * @param args  */ public

0919-网络 请求 数据解析(掌握get post请求 解析json等代码即可)

http://localhost:8080/MJServer/video 复习看的: NSURLConnection 发送请求   暂时没有用到AFN 基本http请求 GET: - (IBAction)login { // 1.用户名 NSString *usernameText = self.username.text; if (usernameText.length == 0) { [MBProgressHUD showError:@"请输入用户名"]; return; } //

解析JSON对象与字符串之间的相互转换

在开发的过程中,如果对于少量参数的前后台传递,可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,这样后台 接受的时候Request多个很麻烦,此时要按照类的格式或者 集合的形式进行传递. 例如:前台按类的格式传递JSON对象: var jsonUserInfo = "{\"TUserName\":\"" + userName + "\",\"TInterest\&qu

js中解析json对象:JSON.parse()用于从一个字符串中解析出json对象, JSON.stringify()用于从一个对象解析出字符串。

JSON.parse()用于从一个字符串中解析出json对象. var str = '{"name":"huangxiaojian","age":"23"}' ; JSON.parse(str); // age: "23" name: "huangxiaojian" 2.JSON.stringify()用于从一个对象解析出字符串. var a = {a:1,b:2 }; JSON.str