服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - 解析C#拼接Json串的几种方法

解析C#拼接Json串的几种方法

2022-11-21 14:55柏雁 C#

本文主要介绍了C#拼接Json串的几种方法,主要包括了4种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

C#定义多行字符串的方式

在定义的前面加上@符号:

?
1
2
3
string aa = @"asdfsdfsd
                        fsdsfsdfsdfsdfsdfsdfs
                        safasfsadfsdfasfsfsdfsd ";

在C#中拼接字符串有几种方法

1. 利用  JsonConvert.SerializeObject方法 (Nuget获取Newtonsoft.Json Package),需要Newtonsoft.Json 支持。

?
1
2
3
4
5
6
7
8
9
10
11
12
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

?
1
2
3
4
5
6
7
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. 直接拼接字符串

?
1
2
3
4
5
6
7
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

?
1
2
3
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的内容提取出来,

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//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校验格式化工具里解析。

解析C#拼接Json串的几种方法

解析C#拼接Json串的几种方法

解析C#拼接Json串的几种方法

代码如下:

1,新建类:

?
1
2
3
4
5
6
7
8
9
10
11
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,获取值:

?
1
2
3
4
5
6
7
8
9
10
11
12
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

到此这篇关于解析C#拼接Json串的几种方法的文章就介绍到这了,更多相关C#拼接Json串内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_18427785/article/details/114519831

延伸 · 阅读

精彩推荐
  • C#C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法

    C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法

    这篇文章主要介绍了C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法,结合实例形式分析了Windows API函数FlashWindowEx的功能、定义及实现窗口闪烁的相关技...

    微wx笑11222021-12-03
  • C#C# 在PDF文档中创建表格的实现方法

    C# 在PDF文档中创建表格的实现方法

    表格能够一目了然的让用户看到数据信息,使信息显得有条理化,那么在pdf类型的文档中如何来添加表格并对表格进行格式化操作呢?下面小编给大家带来...

    E-iceblue11432022-02-17
  • C#C# using三种使用方法

    C# using三种使用方法

    这篇文章主要为大家详细介绍了C# using三种使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    心茶5702021-12-18
  • C#深入了解C#设计模式之订阅发布模式

    深入了解C#设计模式之订阅发布模式

    这篇文章主要介绍了C#设计模式之订阅发布模式的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...

    HueiFeng11982022-09-19
  • C#C#实现的海盗分金算法实例

    C#实现的海盗分金算法实例

    这篇文章主要介绍了C#实现的海盗分金算法,结合具体实例形式分析了海盗分金算法的原理与C#相应实现技巧,需要的朋友可以参考下...

    普若伽门6952022-01-17
  • C#C#读取Excel到DataTable的方法示例

    C#读取Excel到DataTable的方法示例

    这篇文章主要介绍了C#读取Excel到DataTable的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    周继元的博客7332022-07-19
  • C#unity实现流光效果

    unity实现流光效果

    这篇文章主要为大家详细介绍了unity实现流光效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    神码编程7262022-09-06
  • C#Visual Studio 中自定义代码片段的方法

    Visual Studio 中自定义代码片段的方法

    这篇文章主要介绍了Visual Studio 中自定义代码片段的方法,本文分步骤通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,...

    vkvi4272022-08-29