zoukankan      html  css  js  c++  java
  • 在.net 中使用json

    说起json怎么说呢,听说已久但是就是未使用过;
    前天合作伙伴给我个接口使用json传输数据的,这让我不得不现学现用。
    首先我们应该对json脚本有个初步的认识。
    下面脚本是我从网上直接找的,如果有和我一样的,可以在页面中运行下以便对json有个初步的认识。
     
    <script type="text/javascript">
        function test() {
            //直接声明json数据结构 
            var myJSONObject = { "bindings": [
            { "ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*" },
            { "ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*" },
            { "ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*" }
        ]
            };
            //声明字符串,可对比一下json文本与我们正常文本的区别 
            var normalstring = '[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]';
            var jsontext = '[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]';
     
            //调用eval函数转换为json对象, 
            var myE = eval(normalstring);
            document.writeln(myE + '<br><br>');
            //将json对象转换为字符串 
            var text = JSON.stringify(myE);
            //对比转换后的json文本与声明的文本区别 
            document.writeln('转换后的json文本:' + text + '<br><br>声明的json格式文本' + jsontext + '<br><br>声明的普通格式文本' + normalstring + '<br><br>');
     
            //当安全比较重要的时候使用JSON解析就好一些。JSON解析只会识别JSON文本并且它更安全,下面调用json的parse函数对文本数据转换生成json数据结构 
            var myData = JSON.parse(jsontext);
     
            document.writeln("json 对象:" + myData + '<br><br>');
     
            //下面是对json对象的增删查改操作 
     
            //声明json对象 
     
            var jsonObj2 = { persons: [{ name: "jordan", sex: "m", age: "40" }, { name: "bryant", sex: "m", age: "28" }, { name: "McGrady", sex: "m", age: "27"}] };
     
            var persons = jsonObj2.persons;
            var str = "";
     
            var person = { name: "yaoMing", sex: "m", age: "26" };
            //以下为json对象的操作,去掉注释可以查看操作结果 
            //jsonObj2.persons.push(person);//数组最后加一条记录 
            //jsonObj2.persons.pop();//删除最后一项 
            //jsonObj2.persons.shift();//删除第一项 
            jsonObj2.persons.unshift(person); //数组最前面加一条记录 只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice( )进行crud操作! //删除 
            //jsonObj2.persons.splice(0,2);//开始位置,删除个数 
            //替换不删除 
            var self = { name: "tom", sex: "m", age: "24" };
            var brother = { name: "Mike", sex: "m", age: "29" };
            jsonObj2.persons.splice(1, 0, self, brother, self); //开始位置,删除个数,插入对象 
            //替换并删除 
            //jsonObj2.persons.splice(0,1,self,brother);//开始位置,删除个数,插入对象 
     
            for (var i = 0; i < persons.length; i++) { var cur_person = persons[i]; str += cur_person.name + "'sex is " + cur_person.sex + " and age is " + cur_person.age + "<br><br>"; }
            document.writeln(str);
            //转换为json文本 
            var myjsonobj = JSON.stringify(jsonObj2);
            document.writeln(myjsonobj);
        }
    </script> 
     
     
    查看完结果,希望你和我一样对json 有初步的认识。
     
     
    下面就是我们在后台代码中获取json中值的问题了。
    在FrameWork3.5及以上版本中,可以直接使用以下代码:
     
    //先在项目中添加System.Web.Extensions引用
    //using System.Web.Script.Serialization;
     
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    Dictionary<string, object> json = (Dictionary<string, object>)serializer.DeserializeObject(
        "{name: 'zswang', forum: 'c#'}");
    object value;
    if (json.TryGetValue("name", out value))
        Console.WriteLine(value); // 输出:zswang
     
     
    如果在低版本的FrameWork中使用,大家可以参考 http://www.yuuzle.com/csharp-json-serializer-tool-json-net.html
     
     
     
     
  • 相关阅读:
    #define用法详解
    memchr函数
    aiohttp模块1 client
    asyncio标准库7 Producer/consumer
    asyncio标准库6 Threads & Subprocess
    asyncio标准库5 TCP echo client and server
    asyncio标准库4 asyncio performance
    asyncio标准库3 HTTP client example
    asyncio标准库2 Hello Clock
    asyncio标准库1 Hello World
  • 原文地址:https://www.cnblogs.com/baoconghui/p/2296294.html
Copyright © 2011-2022 走看看