json data转匿名对象C#
using Newtonsoft.Json.Linq;
代码如下:
- static void Main(string[] args)
- {
- Console.WriteLine("Test 4.8");
- var o = new
- {
- a = ,
- b = "Hello, World!",
- c = new[] { , , },
- d = new Dictionary<string, int> { { "x", }, { "y", } }
- };
- var json = JsonConvert.SerializeObject(o);
- /* 1 */
- Console.WriteLine("-----------1---------------");
- var anonymous = new { a = , b = String.Empty, c = new int[], d = new Dictionary<string, int>() };
- var o2 = JsonConvert.DeserializeAnonymousType(json, anonymous);
- Console.WriteLine(o2.b);
- Console.WriteLine(o2.c[]);
- /* 2 */
- Console.WriteLine("-----------2---------------");
- var o3 = JsonConvert.DeserializeAnonymousType(json, new { c = new int[], d = new Dictionary<string, int>() });
- Console.WriteLine(o3.d["y"]);
- /* 3 */
- Console.WriteLine("-----------3---------------");
- var o4 = JsonConvert.DeserializeObject(json) as JObject;
- Console.WriteLine((int)o4["a"]);
- Console.WriteLine((string)o4["b"]);
- Console.WriteLine(o4["c"].Values().Count());
- Console.WriteLine((int)o4["d"]["y"]);
- /* 4 */
- Console.WriteLine("-----------3---------------");
- string requestParams = "{\"InquiryOrderNo\":\"1\",\"InquirySolutionNo\":\"2\",\"PlatPlanNo\":\"3\",\"State\":\"4\"}";
- var entity = JsonConvert.DeserializeObject(requestParams) as JObject;
- string strInquiryOrderNo = entity != null ? (string)entity["InquiryOrderNo"] : string.Empty;
- string strInquirySolutionNo = entity != null ? (string)entity["InquirySolutionNo"] : string.Empty;
- string strPlatPlanNo = entity != null ? (string)entity["PlatPlanNo"] : string.Empty;
- string strState = entity != null ? (string)entity["State"] : string.Empty;
- Console.ReadKey();
- }
解决创建接收json data的具体对象,缺点不是强类型,无法保证手误导致失败,保证方法是写单元测试。 对于高版本的net framewrok 有动态 类型dynamic可直接使用更方便,低版本的只能其他方法。
json data转匿名对象C#的更多相关文章
- C#匿名对象(转JSON)
多类型匿名对象 var result = new { pages = , users = new System.Collections.ArrayList { ,name="}, ,name ...
- C# JavascriptSerializer与匿名对象打造Json的完美工具
一:背景 在web项目中经常需要生成json数据,返回给前端ajax. 无论是ashx,还是WebMethod,可以人工的用字符串去拼接,最终得到json数据. 有没有更好的方法呢?我个人推荐使用Ja ...
- Json.Net 反序列化成匿名对象
反序列化一个object var str1 = "{id:1,name:'111',x:[1,2,3],y:{a:'ssss',b:'dddd'}"; var obj1 = Jso ...
- 使用 dynamic 标记解析JSON字符串 JDynamic :支持Json反序列化为Dynamic对象
使用 dynamic 标记解析JSON字符串 http://www.cnblogs.com/taotaodetuer/p/4171327.html 1 string jsonStr = " ...
- 利用JAVA反射机制将JSON数据转换成JAVA对象
net.sf.json.JSONObject为我们提供了toBean方法用来转换为JAVA对象, 功能更为强大, 这里借鉴采用JDK的反射机制, 作为简单的辅助工具使用, 有些数据类型需要进行转 ...
- .NET中如何使用反序列化JSON字符串/序列化泛型对象toJsonStr
在进行 .NET Web MVC 框架开发的网站程序的时候,我们都会遇到最关键的问题,数据传输. .NET MVC 4中的ControllerBase类建议我们用ViewBag动态数据字典形式(t ...
- JSON数据与JavaScript对象转换
使用JSON时,最基本的工作就是JSON数据与JavaScript对象之间的互相转换.如浏览器 从服务器端获得JSON数据,然后转换为JavaScript对象在网页输出. SON: JavaScrip ...
- 多层次的Json字符串转化为对象
using Arvato.CRM.DataTrans.ConsoleHost.Model;using System;using System.Collections.Generic;using Sys ...
- C# 匿名对象(匿名类型)、var、动态类型 dynamic
本文是要写的下篇<C#反射及优化用法>的前奏,不能算是下一篇文章的基础的基础吧,有兴趣的朋友可以关注一下. 随着C#的发展,该语音内容不断丰富,开发变得更加方便快捷,C# 的锋利尽显无疑. ...
随机推荐
- System.InvalidOperationException: 'Cannot create more than one System.Windows.Application instance in the same AppDomain.'
System.Windows.Application is a singleton: its constructor must only be invoked once (including App. ...
- 执行http脚本
Invoke-Expression (Invoke-WebRequest http://10.16.2.5:81/Configcmd.ps1).content
- DEDECMS安全设置怎样做,您就不会说它不安全了
dedecms是好用,优化也好,就是不安全,个人是这样认为的,今天 闲着没事 整理了一些有助于dedecms网站安全的一些设置,可以说是目前最全的dedecms安全设置! 其一:保持DEDE更新,及时 ...
- EntityFramework优化:SQL语句日志
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...
- electron——初探
是什么? Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库. Electron通过将Chromium和Node.js合并到同一个运行时 ...
- java--set,Collections,map
set 特点: 无序, 不允许重复 没有索引 Set<String> set = new HashSet<String>(); set.add("hello" ...
- Django的路由系统:URL
一. URLconf配置 基本格式 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图,参数,别名), ] 参数说明 ...
- SQLi-LABS Page-1(Basic Challenges) Less1-Less4
Less-1 GET - Error based - Single quotes - Stri http://10.10.202.112/sqli/Less-1?id=1 http://10.10.2 ...
- 智能社javascript
http://www.chuanke.com/?mod=student&act=study&courseid=91706
- 高性能TcpServer(C#) - 5.客户端管理
高性能TcpServer(C#) - 1.网络通信协议 高性能TcpServer(C#) - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP) 高性能TcpS ...