当前位置:网站首页>C language parsing json string (json object is converted to string)
C language parsing json string (json object is converted to string)
2022-07-31 20:00:00 【Full stack programmer webmaster】
大家好,又见面了,我是你们的朋友全栈君.
如题,根据jsonThe difficulty of the string,C#The corresponding analysis methods provided are also different,Now do a simple classification summary:
一,对于最简单的json类型,可以使用如下方法
1.使用JsonReader类,示例代码如下
string meetingInfo = @”{“”meetingid”” : “”123″”, “”meetingname”” : “”abc””}”;
JsonReader reader = new JsonTextReader(new StringReader(meetingInfo)); while (reader.Read()) { Console.WriteLine(reader.TokenType + “\n” + reader.ValueType + “\n” + reader.Value); }
2.使用JObject类,示例代码如下:
string meetingInfo = @”{“”meetingid”” : “”123″”, “”meetingname”” : “”abc””}”;
JObject jm = JObject.Parse(meetingInfo); string[] meetings = jm.Properties().Select(item => item.Value.ToString()).ToArray();
二,对于复杂的json类型,使用如下方法
1.使用JArray类(Mainly for array formjson字符串),示例代码如下:
stringresultInfo = @”[{“id”:”123″,”name”:”abc”},{ “id”:”234″,”name”:”def”}]”;
JArray jf = (JArray)JsonConvert.DeserializeObject(resultInfo); fileid = jf[0][“id”].ToString(); filename = jf[0][“name”].ToString();
2.使用JObject类(mostly nested types),示例代码如下:
string resultInfo = @”{“meeting”:{“id”:”123″,”name”:”abc”}}”;
JObject jo = (JObject)JsonConvert.DeserializeObject(resultInfo);
string zone = jo[“meeting“][“id“].ToString(); string zone_en = jo1[“meeting“][“name“].ToString();
三,使用Newtonsoft.Json命名空间下的方法,示例代码如下:
private bool GetParameters() { try { var q = JsonConvert.DeserializeObject<ProtocolTO>(parameters); if (q == null) return false; id = q.id; action = q.action; fileid = q.fileid; meetingid = q.meetingid; type = q.type; sourceid = q.sourceid; status = q.status; } catch { return false; } return true; } public class ProtocolTO { public string id { get; set; } public string meetingid { get; set; } public string fileid { get; set; } public string sourceid { get; set; } public string app { get; set; } public string status { get; set; } public string action { get; set; } public string type { get; set; } }
附录
json格式:
1、对象是一个无序的“‘名称/值’对”集合. 例子:An object representing a person: {“姓名” : “abc”,”年龄” : “20”} 2、数组是值(value)的有序集合. 例子:学生对象 {“学生” :[{“姓名” : “小明” , “年龄” : “15”},{“姓名” : “tom” , “年龄” : “16”}]} json 对象数组:[{ “姓名” : “小明” , “年龄” : “15”},{ “姓名” : “tom” , “年龄” : “16”}] 3、值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array).这些结构可以嵌套. 4、字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义.
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127408.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢
35道MySQL面试必问题图解,这样也太好理解了吧
What's wrong with the sql syntax in my sql
【PIMF】OpenHarmony 啃论文俱乐部—盘点开源鸿蒙三方库【3】
使用 Flutter 和 Firebase 制作!计数器应用程序
学生管理系统第一天:完成登录退出操作逻辑 PyQt5 + MySQL5.8
Three.js入门
程序员如何学习开源项目,这篇文章告诉你
Architecture Battalion Module 8 Homework
架构实战营模块八作业
The principle of ReentrantLock (to be continued)
随机推荐
grep命令 笔试题
1161. Maximum Sum of Elements in Layer: Hierarchical Traversal Application Problems
INeuOS industrial Internet operating system, the equipment operational business and "low code" form development tools
【Yugong Series】July 2022 Go Teaching Course 025-Recursive Function
顺序表的实现
架构实战营模块八作业
Redis Overview: Talk to the interviewer all night long about Redis caching, persistence, elimination mechanism, sentinel, and the underlying principles of clusters!...
MySQL---aggregate function
Three. Introduction to js
Shell 脚本 快速入门到实战 -02
-xms -xmx(information value)
利用反射实现一个管理对象信息的简单框架
MySQL---单行函数
Socket Review and I/0 Model
JD.com searches for products by keyword API
【AcWing】第 62 场周赛 【2022.07.30】
统计UTF-8字符串中的字符函数
京东按关键字搜索商品 API
程序员如何学习开源项目,这篇文章告诉你
全平台GPU通用AI视频补帧超分教程