C# 语言如何获取json格式的数据,不用javascript用c#实现。。。

{‘state‘ : 1,‘data‘:{‘list‘:[{‘id‘: 123, ‘name‘: ‘诸葛天邪‘,‘level‘: 10,‘country‘: 1,}]}}

比如我要获取里面的 id  该如何实现。

我有更好的答案

分享到:

按默认排序 | 按时间排序

2条回答

2012-06-25 20:15yzy_130 | 七级 最快回答

首先这个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"

希望对您有帮助~

By Billskate

追问

非常谢谢你能帮助我,但是我在我这里测试了,报错了哦,请高人指点啊。

回答

这个错误说明你json串格式出错

请仔细按照我前面说的三点检查

追问

谢谢你,是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的例子:

评论 | 2 0

2012-07-05 15:5126779260 | 五级

楼上的兄弟说得很透彻,不过json似乎没有规定必须要双引号哦,只要格式统一即可,不能双引号单引号一起出现。这个dll你用对没有啊,最好去查下资料文档。按步骤来

C# 语言如何获取json格式的数据,不用javascript用c#实现。。。

时间: 2024-10-27 01:20:51

C# 语言如何获取json格式的数据,不用javascript用c#实现。。。的相关文章

Android Volley获取json格式的数据

为了让Android能够快速地访问网络和解析通用的数据格式Google专门推出了Volley库,用于Android系统的网络传输.volley库可以方便地获取远程服务器的图片.字符串.json对象和json对象数组等.当然,java本身也有获取json对象的方法,然而为了更好地适应移动互联网,google专门为其做了特殊的优化,因而应该尽可能地使用Volley库. Volley官方文档:https://developer.android.com/training/volley/index.htm

Spring拦截器从Request中获取Json格式的数据

内容如题 1.创建取值类 1 /** 2 * MyRequestWrapper.java 3 * 4 * @screen 5 * @author havery 6 */ 7 package com.newpp.core.interceptor; 8 9 import java.io.BufferedReader; 10 import java.io.ByteArrayInputStream; 11 import java.io.IOException; 12 import java.io.Inp

jQuery获取JSON格式数据方法

getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result_data){ $.each(result_data, function(index, name_value){ $("div").append(name_value + &qu

ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理

话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性对token进行验证,并通过时间戳的方式统一处理接收与返回的时间格式. 请求Json格式: { "Cmd": "login", "Token": "", "PageNo": 0, "OnePageNu

PHP接收JSON格式的数据

在API服务中,目前流行采用json形式来交互. 给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据. 接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型.因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类

javascript 解析ajax返回的xml和json格式的数据

写个例子,以备后用 一.JavaScript 解析返回的xml格式的数据: 1.javascript版本的ajax发送请求 (1).创建XMLHttpRequest对象,这个对象就是ajax请求的核心,是ajax请求和响应的信息载体,单是不同浏览器创建方式不同 (2).请求路径 (3).使用open方法绑定发送请求 (4).使用send() 方法发送请求 (5).获取服务器返回的字符串   xmlhttpRequest.responseText; (6).获取服务端返回的值,以xml对象的形式存

在C#中通过使用Newtonsoft.Json库来解析百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据

百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据,如下所示: http://api.map.baidu.com/geocoding/v3/?address=**省**市**区**路**号院**社区&output=json&ak=您的AK密钥 返回结果实例: { "status":0, "result": { "location":{"lng":116.79, "lat":

SQLyog-直接导出JSON格式的数据

      前言:以前做过的一个项目,有这样的一个需求使用搜索引擎来查询对应的区域信息,不过区域信息要先导出来,并且数据格式是JSON格式的,在程序中能实现这个需求,不过下面的这种方法更加的简单,通过SQL+SQLyog工具的特点直接将区域信息以JSON格式的形式导出来! 1:区域表的结构信息 2:区域关系表的结构信息 3:这个SQL语句是本次博文的核心,就是用他来拼出JSON格式的数据的,当然,仔细的看一下的话也比较简单,只是这种思路值得小记一笔 SELECT '{"regionId"

hive中导入json格式的数据(hive分区表)

hive中建立外部分区表,外部数据格式是json的如何导入呢? json格式的数据表不必含有分区字段,只需要在hdfs目录结构中体现出分区就可以了 This is all according to this guide: http://blog.cloudera.com/blog/2012/12/how-to-use-a-serde-in-apache-hive/ 1 hive> ADD JAR /home/hadoop/hive-serdes-1.0-SNAPSHOT.jar; 2 Added