首页 > 编程语言 >C#拼接Json串的几种方法

C#拼接Json串的几种方法

时间:2024-07-16 16:00:14浏览次数:9  
标签:set string get C# Json 拼接 userinfo public result

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 + "}";
 
//输出
{
    "speed": 591,
    "direction": 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");

5. 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 }] } } }

新建类:

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; }
}

获取值:

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

 

标签:set,string,get,C#,Json,拼接,userinfo,public,result
From: https://www.cnblogs.com/lgx5/p/18305433

相关文章

  • CF141B Hopscotch 题解
    Hopscotch题面翻译有nnn个形状和大小都一致的正方体积木,积木堆积的样式是第一层只有一个正方体,然后上面就开始循环了,循环体为:第一层是一个正方体,第二层是两个正方体。......
  • 【C++】链表相关的项目(2.0)
    链表相关的项目1.0需要请点击       ---------------------------------------------------准备工作首先弄几个可能会需要的头文件:#include<stdio.h>#include<stdlib.h>#include<string.h>typedefintADT;//定义自定义数据类型​​因为写的是关于......
  • 在 JeecgBoot 项目中基于 Vue 3 配置多页面入口
    在现代Web开发中,使用Vue框架构建项目已经成为一种常见的选择。而JeecgBoot作为一个优秀的后台管理系统框架,也提供了丰富的功能和组件,方便开发人员快速搭建企业级应用。本文将介绍如何在JeecgBoot项目中基于Vue3配置多页面入口,实现更灵活的页面管理和定制化需求。前提......
  • 你不知道的JavaScript---强制类型转换
    你好,我是小白Coding日志,一个热爱技术的程序员。在这里,我分享自己在编程和技术世界中的学习心得和体会。希望我的文章能够给你带来一些灵感和帮助。欢迎来到我的博客,一起在技术的世界里探索前行吧!JavaScript是一种动态类型语言,这意味着变量可以在不同类型之间自由转换。在开发......
  • webpack2源码架构设计与构建流程
    入口初始化入口文件lib/webpack.jsfunctionwebpack(options,callback){ letcompiler; if(Array.isArray(options)){ compiler=newMultiCompiler(options.map(options=>webpack(options))); }elseif(typeofoptions==="object"){//......
  • SpringMVC-拦截器
    文章目录1、拦截器的配置2、拦截器的三个抽象方法3、多个拦截器的执行顺序SpringMVC中的拦截器(Interceptor)是一种强大的机制,用于拦截请求和响应。它允许开发者在请求处理的不同阶段执行预处理和后处理操作,比如日志记录、权限检查、国际化等。以下是关于Sprin......
  • JavaScript字符串对象查找字符出现次数
      查找字符串中某个字符出现的次数思路:1.根据indexOf()方法的特性只会返回要查找的字符出现再字符串中的第一次的位置     2.而且想要继续往后查找则需要跳过前一个已经查询了的字符的位置,则可以在原先位置加       1后再查找     3.将......
  • ComfyUI进阶:Comfyroll插件 (一)
    ComfyUI进阶:Comfyroll插件(一)前言:学习ComfyUI是一场持久战,而ComfyrollStudio是一款功能强大的自定义节点集合,专为ComfyUI用户打造,旨在提供更加丰富和专业的图像生成与编辑工具。借助这些节点,用户可以在静态图像的精细调整和动态动画的复杂构建方面进行深入探索。ComfyrollS......
  • Java中的网络编程与TCP/IP协议详解
    Java中的网络编程与TCP/IP协议详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代软件开发中,理解和掌握网络编程以及TCP/IP协议是构建高性能网络应用的关键。本文将深入讨论Java中的网络编程技术和TCP/IP协议的工作原理与应用。一、网络编程基础......
  • 监控Teamcenter poolmanger 死进程
    importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.io.LineNumberReader;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.text.SimpleDateFormat;importjava.util.ArrayList;......