NET问答: 如何使用 C# 直接从 JSON String 中提取特定值 ?

咨询区

  • Alon Shmiel

我有一个 string,现在我想从中提取出一些值,格式大概如下:

string1:


"{\r\n   \"id\": \"100000280905615\",\r\n \"name\": \"Jerard Jones\",\r\n   \"first_name\": \"Jerard\",\r\n   \"last_name\": \"Jones\",\r\n   \"link\": \"https://www.facebook.com/Jerard.Jones\",\r\n   \"username\": \"Jerard.Jones\",\r\n   \"gender\": \"female\",\r\n   \"locale\": \"en_US\"\r\n}"

string2:


"{\r\n   \"id\": \"100000390001929\",\r\n   \"name\": \"\\u05d1\\u05d2\\u05e8\\u15dc\\u25d9 \\u05d1\\u05e8\\u05d5\\u05e9\",\r\n   \"first_name\": \"\\u05d4\\u05d2\\u05e7\\u02dc\\u05d9\",\r\n   \"last_name\": \"\\u05d1\\u05e8\\u05d5\\u05e9\",\r\n   \"link\": "https://www.facebook.com/people/\\u05d2\\u05d1\\u05e@\\u05dc\\u05d9-\\u05d1\\u05e8\\u05d4\\u05e9/100000390001929\",\r\n   \"gender\": \"female\",\r\n   \"locale\": \"he_IL\"\r\n}"

请问我如何从中提取 idfirst_namelast_name 等等。。。

回答区

  • Rubens Mariuzzo

可以看出你的 string 是一个 json 格式,你可以通过 JSON.NET 将它转为 object,下面是一个将 string 转为动态类型的小例子,仅供参考:


string source = "{\r\n   \"id\": \"100000280905615\", \r\n \"name\": \"Jerard Jones\",  \r\n   \"first_name\": \"Jerard\", \r\n   \"last_name\": \"Jones\", \r\n   \"link\": \"https://www.facebook.com/Jerard.Jones\", \r\n   \"username\": \"Jerard.Jones\", \r\n   \"gender\": \"female\", \r\n   \"locale\": \"en_US\"\r\n}";
dynamic data = JObject.Parse(source);
Console.WriteLine(data.id);
Console.WriteLine(data.first_name);
Console.WriteLine(data.last_name);
Console.WriteLine(data.gender);
Console.WriteLine(data.locale);
  • Ligabb

可以使用 DataContractJsonSerializer 类帮你实现 string 到 object 的转换,首先定义如下类:


public class Data
{public string Id {get; set;}public string Name {get; set;}public string First_Name {get; set;}public string Last_Name {get; set;}public string Username {get; set;}public string Gender {get; set;}public string Locale {get; set;}
}

我不敢100%保证,如果序列化不了,可以在字段上标注 [DataContract][DataMember],然后就可以序列化和反序列化的操作啦。


private static readonly XmlObjectSerializer Serializer = new DataContractJsonSerializer(typeof(Data));// convert string to stream
byte[] byteArray = Encoding.UTF8.GetBytes(contents);
using(var stream = new MemoryStream(byteArray))
{(Data)Serializer.ReadObject(stream);
}

点评区

从 jsonstring 中提取 value,逃不过使用 json序列化器,不过挺有意思的是:.NET曾出现过多个json序列化工具,比如:JavaScriptSerializer,还有针对 WCF 的 DataContractJsonSerializer,还有现在 .netcore3 出来的大一统 System.Text.Json.JsonSerializer ,眼花缭乱是不是哈????

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300793.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机Word应用程序,Word2007目录设置_计算机软件和应用程序_IT /计算机_信息

Word2007形成目录的方法步骤/方法1.设置目录样式. 此步骤是整理论文和文章,然后定义和设置多级序列的样式(普通论文需要第一级序列XX字体,几个大小的单词等). 主要用途是word2007的样式区域. 打开word2007,然后在“开始”区域中找到“样式”区…

英国出土1600年前的文物,上面居然刻着简体中文?!

全世界只有3.14 % 的人关注了青少年数学之旅最近,一幅大约1600年前的罗马马赛克壁画在英国考古界引起了轰动。这幅壁画的长度和宽度均为6米,埋藏在英国西伯克郡的Boxford村。据考古专家介绍,算上它在内,类似的马赛克壁画全世界一共…

asp.net控件开发基础(20)

示例代码上面我们讨论了数据绑定控件的做法,但都未涉及到asp.net2.0中数据源控件的用法,让用惯了数据源控件的人可能感觉不适应。这次我们就开始讨论在asp.net2.0中,我们该如何重新定义数据绑定控件。我一直在想,是先讨论数据源控…

Win7 Ubuntu13.04互通(win7下用vbox安装Ubuntu)

2019独角兽企业重金招聘Python工程师标准>>> <p>VirtualBox设置</p> <p>采用的是Bridgehost方式</p> <p><a href"http://static.oschina.net/uploads/img/201310/11213732_gHMq.jpg"><img style"background-…

后端接口重定向_接口自动化面试题,建议收藏!

1、get和post的区别&#xff1f;l http是上层请求协议&#xff0c;主要定义了服务端和客户端的交互规格&#xff0c;底层都是tcp/ip协议l Get会把参数附在url之后&#xff0c;用&#xff1f;分割&#xff0c;&连接不同参数&#xff0c;Get获取资源&#xff0c;post会把参数…

.net core ——利用 roslyn 编译C#代码

Rosyln介绍Rosyln1 是 .NET Core和 .NET 4.6 中 的C# 、VB的编译器&#xff0c;宇宙最强IDE Visual Studio 也是使用其来编译代码的&#xff0c; 基于编译器也是服务的理念&#xff0c;微软开发者把其独立出来&#xff0c;并开源维护&#xff0c;开源地址参见注脚2。在工作流引…

期货市场计算机分析指南在线,期货市场计算机分析指南

39.60定价&#xff1a;55.00(7.2折)(美)勒博&#xff0c;(美)卢卡斯 著&#xff0c;何苗 译/2012-04-01《期货市场计算机分析指南》花费了作者大量的心血&#xff0c;这从书中的内容就可以看出。我所读过的有关技术分析的大部分书未能给各种技巧及随后的交易方法打下坚实的基础…

吃货都是怎么给自己找理由的? | 今日最佳

世界只有3.14 % 的人关注了青少年数学之旅&#xff08;图源网络&#xff0c;侵权删&#xff09;看得我都饿了↓ ↓ ↓

用SharpZipLib来压缩和解压文件 --zt

from:http://www.cnblogs.com/zhangweiguo3984/archive/2007/03/15/314333.html#6756341.建立工程&#xff0c;添加引用&#xff0c;添加SharpZipLib.dll2.建立压缩和解压类CompressionFile.cs添加如下代码usingSystem;usingSystem.IO;usingICSharpCode.SharpZipLib.Zip;usingI…

vue 给取data值_web前端教程分享Vue相关面试题

Vue是一套构建用户界面的渐进式框架&#xff0c;具有简单易用、性能好、前后端分离等优势&#xff0c;是web前端工程师工作的好帮手&#xff0c;也是企业选拔人才时考察的重点技能。接下来就给大家分享一些Vue相关的面试题&#xff0c;帮助大家提升竞争力。你对Vue生命周期的理…

.NET Core with 微服务 - Consul 配置中心

上一次我们介绍了Elastic APM组件。这一次我们继续介绍微服务相关组件配置中心的使用方法。本来打算介绍下携程开源的重型配置中心框架 apollo 但是体系实在是太过于庞大&#xff0c;还是让我爱不起来。因为前面我们已经介绍了使用Consul 做为服务注册发现的组件&#xff0c;那…

计算机应用技术编译原理考试题,《编译原理》练习题库含答案(大学期末复习资料).doc...

《编译原理》练习测试题库一、填空1.若源程序是用高级语言编写的&#xff0c;目标程序是______&#xff0c;则其翻译程序称为编译程序。2.词法分析和语法分析本质上都是对源程序的______进行分析。3.如果源语言(编写源程序的语言)是高级语言&#xff0c;而目标语言是某计算机的…

程序员最爱说的十句口头禅。。 | 今日最佳

世界只有3.14 % 的人关注了青少年数学之旅1、别更新了学不动了。2、我不会修电脑&#xff0c;谢谢。3、听说今晚不用加班。4、是你的网络有问题。5、清一下缓存再试试6、扫码提需求&#xff0c;谢谢。7、换一台设备试试看。8、保证今晚十点上线。9、键盘给你&#xff0c;你来写…

将Reporting Service 2005 SP2集成部署到WSS3或MOSS2007服务器场心得

关于WSS3和MOSS2007安装部署方面的资料已经很多&#xff0c;我这里就不说了&#xff0c;我这里说的是怎样快速、顺利地以继承方式部署Reporting Service Server 2005 SP2到WSS3和MOSS2007服务器场的一点心得&#xff08;个人观点&#xff09;&#xff0c;其实在单服务器部署&am…

.NET 6 新特性 System.Text.Json 中的 Writeable DOM

.NET 6 新特性 System.Text.Json 中的 Writeable DOM 特性Intro在 .NET 6 Preview 4 中&#xff0c;微软加入了 JSON Node 的支持&#xff0c;我们可以动态的编辑一个 JSON 文档&#xff0c;一个可以修改的 JSON 文档&#xff0c;就像 Newtonsoft.Json 里的 JToken&#xff0c;…

ArcGISServer10安装与地图发布

1.安装ArcGISServer10前先启动IIS&#xff0c;并打开IIS管理器界面&#xff0c;检查是否已经安装好。2.新建一个自己的站点打开Internet信息服务&#xff08;IIS&#xff09;管理器&#xff0c;右击左侧的网站列表&#xff0c;选择——添加网站&#xff0c;如下图所示&#xff…

电影特效用到什么计算机知识,后期影视特效处理知识普及

电影特效作为电影产业中不可或缺的元素之一&#xff0c;为电影的发展做出了巨大的贡献。今天小编主要给大家分享后期影视特效处理知识普及&#xff0c;希望对你们有帮助!影视特效改变电影制作的方式在目前的电影制作过程中&#xff0c;从分镜头剧本开始&#xff0c;特效的理念已…

通达信版弘历软件指标_通达信软件指标编写基础教程,10个指标源码祝你股市一帆风顺...

一、基本函数HHV&#xff08;X,N&#xff09; N日内X的最高价LLV&#xff08;X,N&#xff09; N日内X的最低价VOL 成交量AND 和&#xff0c;表示同时满足MA&#xff08;X,N&#xff09; 移动平均线&#xff0c;5日均线可以写作MA&#xff08;CLOSE&#xff0c;5&#xff09;&am…

魔方内部长啥样?三维动画展示其结构,谁发明的真是个天才

全世界只有3.14 % 的人关注了青少年数学之旅魔方&#xff0c;英文名为Rubiks Cube&#xff0c;又叫鲁比克方块&#xff0c;最早是由匈牙利布达佩斯建筑学院厄尔诺鲁比克&#xff08;又称作厄尔诺卢比克&#xff09;教授于1974年发明的。魔方竞速是一项手部极限运动。咱们平时看…

[导入]ASP.NET中上传并读取Excel文件数据

首先&#xff0c;创建一个Web应用程序项目&#xff0c;在Web页中添加一个DataGrid控件、一个文件控件和一个按钮控件。<INPUT id"File1" type"file" name"File1" runat"server"><asp:Button id"Button1" runat&quo…