也谈C#之Json,从Json字符串到类代码
作者:网络转载 发布时间:[ 2015/7/2 14:10:08 ] 推荐标签:软件开发 C#
json转类对象
自从.net 4.0开始,微软提供了一整套的针对json进行处理的方案。其中,有如何把json字符串转化成C#类对象,其实这段代码很多人都清楚,大家也都认识,我不多说,先贴代码。
1、添加引用 System.Web.Extensions
2、测试一下代码
1 static class Program
2 {
3 /// <summary>
4 /// 程序的主入口点。
5 /// </summary>
6 static void Main()
7 {
8 string jsonStr = "{"name":"supperlitt","age":25,"likes":["C#","asp.net"]}";
9 JavaScriptSerializer js = new JavaScriptSerializer();
10 var model = js.Deserialize<TestModel>(jsonStr);
11
12 Console.WriteLine(model.name);
13 Console.WriteLine(model.age);
14 Console.WriteLine(string.Join(",", model.likes));
15
16 Console.ReadLine();
17 }
18
19 public class TestModel
20 {
21 public string name { get; set; }
22
23 public int age { get; set; }
24
25 public List<string> likes { get; set; }
26 }
27 }
输出内容:
逆思考
由于代码中,经常会遇到需要处理json字符串(抓包比较频繁)。每次遇到json字符串,大多需要解析,又要进行重复劳动,又需要定义一个C#对象类,有没有一个比较好的办法解决呢,不用每次都去写代码。自动生成多好。。。
于是LZ思前,向后,想到了以前用过的一个微软的类库,应该是微软的一个Com库。
从json字符串自动生成C#类
1、试着百度了一下,也尝试了几个可以使用的类。于是找到了
如下的代码,能够解析一个json字符串,成为一个C#的对象。
这里引用了,Microsoft.JScript.dll 类库。
1 Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
2 var m = Microsoft.JScript.Eval.JScriptEvaluate("(" + jsonStr + ")", ve);
2、发现这个m对象,其实是一个JSObject对象,内部也可以继续进行细分,于是测试了种种,稍后会上源码。先看测试效果吧。
我们随便在web上面找了一个json字符串来进行处理。当然json要稍稍复杂一点。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11