解析C#拼接Json串的几种方法
作者:柏雁 时间:2021-12-28 20:22:48
C#定义多行字符串的方式
在定义的前面加上@符号:
string aa = @"asdfsdfsd
fsdsfsdfsdfsdfsdfsdfs
safasfsadfsdfasfsfsdfsd ";
在C#中拼接字符串有几种方法
1. 利用 JsonConvert.SerializeObject方法 (Nuget获取Newtonsoft.Json Package),需要Newtonsoft.Json 支持。
string uid = "22";
var abcObject = new
{
AccessKey = 11,
CustomerNo = uid,
mc = "33",
qd = "44",
mr = "55",
insertDate = DateTime.Now
};
string serJson = JsonConvert.SerializeObject(abcObject);
2. 利用StringBuilder
StringBuilder str = new StringBuilder();
str.Append("{");
str.Append("AccessKey:\"" + 11 + "\",");
str.Append("mc:\"" + 22 + "\",");
str.Append("qd:\"" + 33 + "\"");
str.Append("}");
string serJson = str.ToString();
3. 直接拼接字符串
string json = "{\"speed\":" + speed + "," + "\"direction\":" + direction + "}";
TODO:输出
{
"speed": 591,
"direction": 0
}
"{\"Bool_Type\":\"Bool\",\"Int_Type\":6666666,\"Float_Type\": 66.99,\"String_Type\":\"这是String类型\",\"Vector2_Type\":{\"x\":666.0,\"y\":666.0},\"Vector3_Type\":{\"x\":666.0,\"y\":666.0,\"z\":666.0}}";
4. 利用StringFormat
string mc = "22";
string id = "11";
string serJson = string.Format("[{{ AccessKey:\"{0}\",mc:\"{1}\"}},{{ AccessKey:\"{2}\",mc:\"{3}\"}}]", id, mc, "33", "44");
Jobject 数据结构的解析:
首先下载Newtonsoft.Json,增加引用using Newtonsoft.Json.Linq;
把jobject的内容提取出来,
//Jobject的内容格式如下:
{
"code": 200,
"msg": "SUCCESS",
"data": {
"id": "12345678",
"name": "张三",
"sex": "男",
"result": {
"access_token": "49d58eacd7811e463429a1ae10b42173",
"user_info": [{
"school": "社会大学",
"major": "软件开发",
"education": "本科",
"score": 97
}, {
"school": "湖南大学",
"major": "软件工程",
"education": "研究生",
"score": 100
}]
}
}
}
可放到json官网在线JSON校验格式化工具里解析。
代码如下:
1,新建类:
public class UserInfo
{
public string id { get; set; }
public string name { get; set; }
public string sex { get; set; }
public string access_token { get; set; }
public string school { get; set; }
public string major { get; set; }
public string education { get; set; }
public string score { get; set; }
}
2,获取值:
JObject result = new JObject();//假设result为数据结构
UserInfo userinfo = new UserInfo();
userinfo.id = result["data"].Value<string>("id");//id
userinfo.name = result["data"].Value<string>("name"); //name
userinfo.sex = result["data"].Value<string>("sex"); //sex
userinfo.access_token= result["data"]["result"]["access_token"].ToString();//access_token
JArray res = result["data"]["result"].Value<JArray>("user_info");
JObject obj = JObject.Parse(res[0].ToString());//只获取数据结构中第一个userinfo里的数据信息
userinfo.school = obj.Value<string>("school"); //schoool
userinfo.major = obj.Value<string>("major");//major
userinfo.education = obj.Value<string>("education");//education
userinfo.score= obj.Value<string>("score");//score
来源:https://blog.csdn.net/qq_18427785/article/details/114519831
标签:C#,拼接,Json,串
0
投稿
猜你喜欢
C#解决文件被占用资源,无法删除或修改的方法
2023-10-25 14:39:57
解析Java继承中方法的覆盖和重载
2021-09-02 02:02:32
通过实例深入了解java序列化
2022-12-01 17:37:39
Java 线程同步详解
2021-08-20 05:03:10
java虚拟机中多线程总结
2022-09-01 22:55:48
Java流处理stream使用详解
2021-09-17 18:27:58
零基础写Java知乎爬虫之先拿百度首页练练手
2022-11-14 09:07:05
教你怎么用Java开发扫雷游戏
2023-07-22 09:49:26
详解Mybatis中常用的约束文件
2023-11-28 08:02:17
解析JAVA深度克隆与浅度克隆的区别详解
2023-11-02 10:57:28
Java实现map转换成json的方法详解
2022-09-09 12:26:03
Java 高并发十: JDK8对并发的新支持详解
2022-12-02 02:43:09
解析Android开发优化之:对界面UI的优化详解(一)
2023-05-23 17:45:10
IDEA连接Mysql数据库的详细图文教程
2023-10-09 09:51:24
Java实现的最大匹配分词算法详解
2021-12-30 00:50:04
C#通过标签软件Bartender的ZPL命令打印条码
2022-05-22 01:30:40
使用JSON.toJSONString格式化成json字符串时保留null属性
2023-05-10 14:56:34
java如何使用自己的maven本地仓库详解
2022-08-01 12:13:44
Java使用DateFormatter格式化日期时间的方法示例
2021-07-15 15:29:23
Java为什么基本数据类型不需要进行创建对象?
2022-03-16 08:59:03