zoukankan      html  css  js  c++  java
  • 是用Jayrock后台操作Json数据

    所谓Json数据,其实就是js里面 字符字面量 和 对象字面量 的组合而已。
    形如:
    {
        "name" : "n",
        "value" : "10",
        "id" : "1",
        "items" : [
           {"key1" : "value1"},
            {"key2" : "value2"}
        ]
    }
    的数据
    在js里面可以直接用eval将这串文本生成数组或对象的实例

    下面主要简单描述一下在.net里面是用Jayrock操作json数据的方法。
    jayrock是一个开源的.net库,采用C# 1.1开发。 该库在.net 2.0里面仍可以正常是用。 之所以选择这个库主要是因为它是开源的,碰到问题可以直接找源代码看,比较容易定位错误。
    下载地址:http://jayrock.berlios.de/#quick-start

    编译好的有2个dll, Jayrock.Json.dllJayrock.dll。 如果只想是用它的json功能, 就只是用Jayrock.Json.dll 已经足够了!

    Jayrock.Json 库里面比较重要的几个对象: 首先是:JsonConvert,其次是:JsonReaderJsonWriter 等(这些类的使用方法类似xml类)

    下面介绍主要介绍一下对JsonConvert的使用

    1.引用命名空间:
    using Jayrock.Json;
    using Jayrock.Json.Conversion;

    主要代码

    string json_config = @"
            {
                'Name' : 'my-config',
                'Desc' : 'test',
                'Inputs' : [
                    {
                        'Name' : 'mobile',
                        'Desc' : '手机',
                        'InputType' : 'Mobile',
                        'Default_Value' : '133'
                    }
                         ]
            }
    ";
            Response.Write(
    "read json data by JsonConvert.Import!<br>");
            
    string separator = new string('-'100+ "<br>";
            Response.Write(separator);

            Response.Write(
    "读入到指定类:<br>");
            Config config 
    = JsonConvert.Import(typeof(Config), json_config) as Config;

            Response.Write(
    "config   name: " + config.Name + "<br>");

            Response.Write(
    "config   desc: " + config.Desc  + "<br><br>");

            Input input 
    = config.Inputs[0];
            Response.Write(
    "config   input-name: " + input.Name + "<br>");

            Response.Write(
    "config   input-desc: " + input.Desc + "<br>");

            Response.Write(
    "config   input-type: " + input.InputType + "<br>");

            Response.Write(separator);
            Response.Write(
    "读入到JsonObject对象:<br>");

            JsonObject jo 
    = JsonConvert.Import(json_config) as JsonObject;
            Response.Write(
    "config   name: " + jo["Name"+ "<br>");

            Response.Write(
    "config   desc: " + jo["Desc"+ "<br><br>");

            JsonArray ja 
    = jo["Inputs"as JsonArray;
            
    foreach(JsonObject o in ja)
            
    {
                Response.Write(
    "config   input-name: " + o["Name"+ "<br>");

                Response.Write(
    "config   input-desc: " + o["Desc"+ "<br>");

                Response.Write(
    "config   input-type: " + o["InputType"+ "<br>");

            }

            Response.End();

    注意,第二种方法,由于是采用以key做索引的方式,因此必须和json数据中的key大小写一致!

    输出页面是:

    read json data by JsonConvert.Import!
    ----------------------------------------------------------------------------------------------------
    读入到指定类:
    config name: my-config
    config desc: test

    config input-name: mobile
    config input-desc: 手机
    config input-type: Mobile
    ----------------------------------------------------------------------------------------------------
    读入到JsonObject对象:
    config name: my-config
    config desc: test

    config input-name: mobile
    config input-desc: 手机
    config input-type: Mobile

  • 相关阅读:
    C++操作文件行(读取,删除,修改指定行)
    Windows注册表中修改UAC(用户账号控制)及批处理脚本
    Centos7.x 安装libevent2.x
    【Docker】:使用docker安装redis,挂载外部配置和数据
    【Docker】:使用docker安装mysql,挂载外部配置和数据
    开源定时任务框架Quartz(二)
    开源定时任务框架Quartz(一)
    Spring Boot系列教程十四:Spring boot同时支持HTTP和HTTPS
    数据结构与算法:单向链表实现与封装(有头)
    【C++札记】指针函数与函数指针
  • 原文地址:https://www.cnblogs.com/jacktu/p/1081415.html
Copyright © 2011-2022 走看看