• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

.net2.0C#Json反序列化

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

去:http://json.codeplex.com/下载 Json.NET 1.3.1(.net2.0用)

Json.net API:http://james.newtonking.com/projects/json/help/

解压吧BIN文件拷贝到项目的BIN文件中(我就考那Newtonsoft.Json.dll 配置的xml文件没拷还没知道这么用)

反序列化:(就是把JSON取出来赋予C#然后操作数据 我是这样理解的)

代码:

using Newtonsoft.Json;//导入类

string ojson = "[{SZD:'BM',SGX:'=',SZ:'33'},{SZD:'SJ',SGX:'=',SZ:'3333'},{SZD:'SJ',SGX:'=',SZ:'3333'}]";

/*获取json*/

Newtonsoft.Json.JavaScriptArray jsa = (JavaScriptArray)JavaScriptConvert.DeserializeObject(ojson);

for (int i = 0; i < jsa.Count; i++)

        {

            JavaScriptObject jso = (JavaScriptObject)jsa[i];

            /*JavaScriptObject[""]   获取具体的值*/

             Response.Write(jso["SZD"].ToString()+jso["SGX"].ToString()+Convert.ToInt32(jso["SZ"])+"</br>");

        }

 

目标:以C#解析一串类似[{},{},{}]承载着数组数据的json字符串。将其反序列化为一个对象列表

运行环境:

NUnit2.4 C# .net2.0

代码:

using System;

using System.Collections.Generic;

using System.Text;

 using NUnit.Framework;

using Newtonsoft.Json;

namespace TestPrj

{

 [TestFixture]

public class TestJson

 {

 

    [Test]

   public void testA()

     {

        //测试数据

         string ojson = "[{SZD:'BM',SGX:'=',SZ:'33'},{SZD:'SJ',SGX:'=',SZ:'3333'},{SZD:'SJ',SGX:'=',SZ:'3333'}]";

          Newtonsoft.Json.JavaScriptArray jsa = (JavaScriptArray)JavaScriptConvert.DeserializeObject(ojson);

           IList<searchArgs> li = new List<searchArgs>();

            for (int i = 0; i < jsa.Count; i++)

             {

               JavaScriptObject jso = (JavaScriptObject)jsa[i];

                searchArgs sa = new searchArgs(GetJsonStringValue(jso, "SZD"), GetJsonStringValue(jso, "SGX"), GetJsonStringValue(jso, "SZ"));

             li.Add(sa);

         }

System.Console.WriteLine(li.Count);

         }

         public class searchArgs {

           public string SZD { get; set; }

            public string SGX { get; set; }

           public string SZ { get; set; }

         public searchArgs(string szd,string sgx,string sz) {

               SZD = szd;

                SGX = sgx;

              SZ = sz;

         }

       }

      public static string GetJsonStringValue(Newtonsoft.Json.JavaScriptObject jso, string key)

    {

      try

            {

             return jso[key] == null ? string.Empty : jso[key].ToString();

      }

           catch (Exception e)

           {

            return string.Empty;

          }

       }

     }

}

 

转自:http://cjl20082002.blog.163.com/blog/static/120827332009511103457637/


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap