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校验格式化工具里解析。
代码如下:
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