C# 语言如何获取json格式的数据,不用javascript用c#实现。。。
{'state' : 1,'data':{'list':[{'id': 123, 'name': '诸葛天邪','level': 10,'country': 1,}]}}
比如我要获取里面的 id 该如何实现。
首先这个json串有几个错误的地方
第一个非常重要的错误,json串里面只能用双引号,不能用单引号,这个单双引号表示的意思不是引号内是字符串,而是json的规定
第二个错误,json串内的逗号只能用英文的,不能用中文的
第三个错误,country之后的那个逗号去掉
再来说转换问题
最简单的方式是使用.net内置的JavaScriptSerializer类,如图所示
其中,JavaScriptSerializer.DeserializeObject转换json串为object对象
如果这个json串以大括号包裹,这个object对象的实际类型就为Dictionary<string, object>
如果以中括号包裹,实际类型就为object[],而其中的object又为Dictionary<string, object>
所以如图,就有很多次的转换才能最终获取id
推荐使用JavaScriptSerializer.Deserialize方法以及创建实体来解析json,就不需要多次转换
具体做法请自行百度"JavaScriptSerializer"
这个错误说明你json串格式出错 字符串错了。不过我现在不能用JavaScriptSerializer对象,现在服务器的.NetFrameWork是2.0的所以不支持。 我现在就换成用 Newtonsoft.Json.dll 这个程序集,但是在运行的时候出了个问题。不断提示未将对象引用到实例,。
这是我现在的代码,我用了Newtonsoft.Json.dll 转换的时候获得了对象里面有值。((((rusult as Dictionary<string, object>)["data"] as Dictionary<strin...就是在这条报的异常,
如果您要用Newtonsoft.Json.dll进行转换,这个和微软提供的JavaScriptSerializer的用法肯定是不一样的 所以不能通过原先我写的那样去获取 要像如图获取,附带Newtonsoft.Json官方文档中Linq to json的例子:
楼上的兄弟说得很透彻,不过json似乎没有规定必须要双引号哦,只要格式统一即可,不能双引号单引号一起出现。
这个dll你用对没有啊,最好去查下资料文档。 网络粘贴,勉强看吧
C# 语言如何获取json格式的数据,不用javascript用c#实现。。。的更多相关文章
- Android Volley获取json格式的数据
为了让Android能够快速地访问网络和解析通用的数据格式Google专门推出了Volley库,用于Android系统的网络传输.volley库可以方便地获取远程服务器的图片.字符串.json对象和j ...
- 获取json格式的数据变成了undefined!?
今天在做一个简单的登陆功能时,当一切准备就绪,点击登陆时,什么都没发生..然后开始debug,打断点调试,然后发现了这个.向页面传递数据flag是true代表该用户的账号密码验证码等信息正确可以登录, ...
- Spring拦截器从Request中获取Json格式的数据
7 package com.newpp.core.interceptor; 8 9 import java.io.BufferedReader; 10 import java.io.ByteArray ...
- 中文格式python 打印json格式的数据中文显示问题
废话就不多说了,开始... 平日会有这么一个应用场景,会用python去处置json格式的web API,以“ip.taobao.com”的API为例,详情见http://ip.taobao.com/ ...
- jQuery获取JSON格式数据方法
getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ ...
- struts2使用jsp和<s:property>标签获取json格式的返回数据
struts2使用jsp和<s:property>标签获取json格式的返回数据 1.struts2的action中 return "success"; 2.指向的返回 ...
- jQuery中使用Ajax获取JSON格式数据示例代码
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.JSONM文件中包含了关于“名称”和“值”的信息.有时候我们需要读取JSON格式的数据文件,在jQuery中 ...
- 数据库获取map数据后转化成json格式的数据
一,从数据库查出来的数据 两张表先各自左外连接,然后在相互左外连接查找省市县的数据(业务需求必须这样做,省市去的是第一张表,而市县取的是第二张表,两张表中间通过市的名字连接)见这个博文的最后一张图片 ...
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理
话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性 ...
随机推荐
- QString,QByteArray和QBitArray之间的转换
1:QBitArray2QString :也可以转化为整型, 测试程序: 测试输出结果是否和移位结果相同: [cpp] view plaincopyprint? QBitArray x; int ...
- phpstorm一个窗口打开多个项目
phpstorm默认一个窗口只显示一个项目,入股拟新建一个项目,他会给你个选项卡,问你是在新窗口打开新项目还是在本窗口打开. 能不能在一个窗口打开多个项目呢?就像sublime text那样,其实是可 ...
- solr 相似查询-MoreLikeThis
参考文档: MoreLikeThis MoreLikeThisHandler 在solr中有两种方式实现MoreLikeThis:第一种:SearchHandler中的MoreLikeThisComp ...
- Android学习笔记④——页面的布局方式
FrameLayout(帧布局) 这个布局的特点是简单的默认把每一个视图组件都放在边框内且放在左上角,即使添加多个视图组件,他们也都是重叠在左上角,新的视图会遮挡住旧的视图.可以根据gravity来改 ...
- vim 使用记录
编辑 Ctrl + x 数字减1 Ctrl + a 数字加1 di + {char} Delete Inner Character # di": & ...
- 跨越跳板机传文件nc
从线上服务器与本机互传文件 传输方 nc -l 10000 < a.tar 接收方 nc xx.xx.xx.xx 10000 >a.tar 原理: 文件传输方运行nc,指定端口,设置监听文 ...
- Nginx负载趟过的坑
在项目中经常会碰到需要利用Nginx作负载,最近在利用Nginx作负载均衡器时碰到一个很奇葩的问题. 本来按照以前的实现将打好的A.war包直接放到tomcat根目录(webapps)下,然后按照如下 ...
- 【原则】常用windows开发 客户端工具 收集
1. Navicat Premium 推荐: mysql客户端, postgreSQL 客户端, Sqlite客户端 2. robomongo 推荐:mongoDB客户端
- 在ios7系统下,scrollView下移20像素
从设备图库返回到scrollView时,scrollView会下移20像素,解决办法:self.edgesForExtendedLayout = UIRectEdgeNone; 如果加入此代码导致其他 ...
- Linux之查看文件大小
1.查看当前文件大小du -sh ./ du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclude=< ...