Json序列化问题
之前Json字符反序列化为C#对象时
总是写一个实体类。。
如:{"a":5,"b":10} 这种json字符串
对应的实体类为:
public class Rootobject
    {
        public int a { get; set; }
        public int b { get; set; }
    }
对应的C#后台代码为:
string json = "{\"a\":5,\"b\":10}"; ({"a":5,"b":10})
Rootobject b = JsonConvert.DeserializeObject<Rootobject>(json);
这样写完全没问题。
可是要是json字符串改为 {"a":5,"1":10}
对应的实体类就要改成
public class Rootobject
    {
        public int a { get; set; }
        public int 1 { get; set; }
    }
属性名为1这种写法会报错的。。。。
两种解决方案:
方案一:
给属性加个Json.net的特性
public class Rootobject
    {
        public int a { get; set; }
        [JsonProperty("1")]
        public int b { get; set; }
    }
方案二:
var jObject = JObject.Parse(json);
   string t= jObject["a"].ToString();
   string t5 = jObject["1"].ToString();
Json序列化问题的更多相关文章
- .Net深入实战系列—JSON序列化那点事儿
		序 当前主流的序列化JSON字符串主要有两种方式:JavaScriptSerializer及Json.net(Nuget标识:Newtonsoft.Json).JavaScriptSerializer ... 
- Newtonsoft.Json 序列化和反序列化 时间格式【转】
		1.JSON序列化 string JsonStr= JsonConvert.SerializeObject(Entity); eg: A a=new A(); a.Name="Elain ... 
- [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类
		[.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能 ... 
- DotNet的JSON序列化与反序列化
		JSON(JavaScript Object Notation)JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.在现在的通信中,较多的采用JSON数据格式,JSON有 ... 
- C#中JSON序列化和反序列化
		有一段时间没有到博客园写技术博客了,不过每天逛逛博客园中大牛的博客还是有的,学无止境…… 最近在写些调用他人接口的程序,用到了大量的JSON.XML序列化和反序列化,今天就来总结下json的序列化和反 ... 
- 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具
		ASP.Net MVC默认的JSON序列化使用的是微软自己的JavaScriptSerializer.性能低不说,最让人受不了的是Dictionary<,>和Hashtable类型居然对应 ... 
- Windows Phone 六、JSON序列化
		JSON序列化 public class Person { public int Id { get; set; } public string Name { get; set; } public in ... 
- [MVC_Json序列化]MVC之Json序列化循环引用
		在做MVC项目时,难免会遇到Json序列化循环引用的问题,大致错误如下 错误1:序列化类型为“...”的对象时检测到循环引用. 错误2:Self referencing loop detected f ... 
- NetworkComms V3 使用Json序列化器进行网络通信
		刚才在网上闲逛,偶然看到一篇文章 C#(服务器)与Java(客户端)通过Socket传递对象 网址是:http://www.cnblogs.com/iyangyuan/archive/2012/12/ ... 
- json序列化时datetime的处理方法
		.net自带的json序列化器,JavaScriptSerializer和DataContractJsonSerializer,都是序列化成微软的datetime json格式,e.g. " ... 
随机推荐
- 基于Nginx实现10万+并发,你应该做的Linux内核优化
			由于默认的linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能: 在优化内核时,可以做的事情很多, ... 
- Windows进程间各种通信方式浅谈
			1 Windows进程间通信的各种方法 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码.数据以及它可利用的系统资源(如文件.管道等)组成. 多进程/多线程是Windows操作系 ... 
- VS2012, opencv2.4.4环境搭建
			2.1 环境准备 安装 Visual Studio 2012 下载 opencv 最新版本( 目前是2.4.6, 下载链接 ) 2.2 安装 opencv 2.2.1. 双击下载的 OpenCV-2. ... 
- 如何读取jar包外的properties文件和log4j.properties
			http://jrails.iteye.com/blog/1705464 ***************************************' 一般在项目中使用properties配置文件 ... 
- js压缩图片并上传,不失真,保证图片清晰度
			<!DOCTYPE HTML> <html lang="zh-CN"> <head> <meta charset="UTF-8& ... 
- ajax 基本语法
			1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如 ... 
- [转][SQL] SSIS 简单应用 数据库汇入导出设定& SQL Agent定期排程
			前言 本篇不是要說高深的SSIS 技巧,而是用實例的方式,說明如何應用 Visual Studio 的「Business Intelligence Projects」來建立「Integration S ... 
- Wpf border 容易弄混的两个属性
			代码如下: <Border Margin=" > <Button Content="dafkafjk"></Button> </ ... 
- Linux maven 下 jar包下载不下来的解决方法
			在项目中遇到一个问题,使用推送的中间件,结果使用maven下载不下来,当时就直接手动下载后,copy到本地仓库了, 结果发布的时候遇到问题了. 因为发布是直接在测试服务器上,将提交的svn代码进行打包 ... 
- write something
			今天是2013年7月8日了. 办公室里灯光很柔和,但是雨后的窗外让天空很亮,光线乘机也溜了进来. 偶尔想去联系某个人,点开了她的资料,进去了她的博客.看了这几年来为数不多不的几篇博客.可以看到一个人的 ... 
