之前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序列化问题的更多相关文章

  1. .Net深入实战系列—JSON序列化那点事儿

    序 当前主流的序列化JSON字符串主要有两种方式:JavaScriptSerializer及Json.net(Nuget标识:Newtonsoft.Json).JavaScriptSerializer ...

  2. Newtonsoft.Json 序列化和反序列化 时间格式【转】

    1.JSON序列化 string JsonStr= JsonConvert.SerializeObject(Entity); eg:   A a=new A(); a.Name="Elain ...

  3. [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类

    [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能 ...

  4. DotNet的JSON序列化与反序列化

    JSON(JavaScript Object Notation)JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.在现在的通信中,较多的采用JSON数据格式,JSON有 ...

  5. C#中JSON序列化和反序列化

    有一段时间没有到博客园写技术博客了,不过每天逛逛博客园中大牛的博客还是有的,学无止境…… 最近在写些调用他人接口的程序,用到了大量的JSON.XML序列化和反序列化,今天就来总结下json的序列化和反 ...

  6. 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具

    ASP.Net MVC默认的JSON序列化使用的是微软自己的JavaScriptSerializer.性能低不说,最让人受不了的是Dictionary<,>和Hashtable类型居然对应 ...

  7. Windows Phone 六、JSON序列化

    JSON序列化 public class Person { public int Id { get; set; } public string Name { get; set; } public in ...

  8. [MVC_Json序列化]MVC之Json序列化循环引用

    在做MVC项目时,难免会遇到Json序列化循环引用的问题,大致错误如下 错误1:序列化类型为“...”的对象时检测到循环引用. 错误2:Self referencing loop detected f ...

  9. NetworkComms V3 使用Json序列化器进行网络通信

    刚才在网上闲逛,偶然看到一篇文章 C#(服务器)与Java(客户端)通过Socket传递对象 网址是:http://www.cnblogs.com/iyangyuan/archive/2012/12/ ...

  10. json序列化时datetime的处理方法

    .net自带的json序列化器,JavaScriptSerializer和DataContractJsonSerializer,都是序列化成微软的datetime json格式,e.g. " ...

随机推荐

  1. 基于Nginx实现10万+并发,你应该做的Linux内核优化

    由于默认的linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能: 在优化内核时,可以做的事情很多, ...

  2. Windows进程间各种通信方式浅谈

    1 Windows进程间通信的各种方法 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码.数据以及它可利用的系统资源(如文件.管道等)组成. 多进程/多线程是Windows操作系 ...

  3. VS2012, opencv2.4.4环境搭建

    2.1 环境准备 安装 Visual Studio 2012 下载 opencv 最新版本( 目前是2.4.6, 下载链接 ) 2.2 安装 opencv 2.2.1. 双击下载的 OpenCV-2. ...

  4. 如何读取jar包外的properties文件和log4j.properties

    http://jrails.iteye.com/blog/1705464 ***************************************' 一般在项目中使用properties配置文件 ...

  5. js压缩图片并上传,不失真,保证图片清晰度

    <!DOCTYPE HTML> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  6. ajax 基本语法

    1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如 ...

  7. [转][SQL] SSIS 简单应用 数据库汇入导出设定& SQL Agent定期排程

    前言 本篇不是要說高深的SSIS 技巧,而是用實例的方式,說明如何應用 Visual Studio 的「Business Intelligence Projects」來建立「Integration S ...

  8. Wpf border 容易弄混的两个属性

    代码如下: <Border Margin=" > <Button Content="dafkafjk"></Button> </ ...

  9. Linux maven 下 jar包下载不下来的解决方法

    在项目中遇到一个问题,使用推送的中间件,结果使用maven下载不下来,当时就直接手动下载后,copy到本地仓库了, 结果发布的时候遇到问题了. 因为发布是直接在测试服务器上,将提交的svn代码进行打包 ...

  10. write something

    今天是2013年7月8日了. 办公室里灯光很柔和,但是雨后的窗外让天空很亮,光线乘机也溜了进来. 偶尔想去联系某个人,点开了她的资料,进去了她的博客.看了这几年来为数不多不的几篇博客.可以看到一个人的 ...