首页 > 编程语言 >c# - - - json字符串获取值,json字符串转实体类

c# - - - json字符串获取值,json字符串转实体类

时间:2024-10-03 22:20:46浏览次数:8  
标签:Console string c# json WriteLine 字符串 using zj1

json字符串获取值

using Newtonsoft.Json.Linq;
using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            string mStr = "{\"shenzhen\":\"深圳\",\"beijing\":\"北京\",\"shanghai\":[{\"zj1\":\"zj11\",\"zj2\":\"zj22\"},\"zjs\"]}";
            Console.WriteLine(mStr); //{"shenzhen":"深圳","beijing":"北京","shanghai":[{"zj1":"zj11","zj2":"zj22"},"zjs"]}

            JObject mJobject = JObject.Parse(mStr);

            string shenzhen = mJobject["shenzhen"].ToString(); //深圳
            Console.WriteLine(shenzhen);

            string shagnhai = mJobject["shanghai"].ToString(); //[{\"zj1\":\"zj11\",\"zj2\":\"zj22\"},\"zjs\"]
            Console.WriteLine(shagnhai);

            string zjs = mJobject["shanghai"][1].ToString(); //zjs
            Console.WriteLine(zjs);

            JToken zjl = mJobject["shanghai"][0];
            Console.WriteLine(zjl.ToString()); //{\"zj1\":\"zj11\",\"zj2\":\"zj22\"}

            JToken zj1 = zjl["zj1"];
            Console.WriteLine(zj1.ToString()); //zj11

            Console.ReadKey();
        }
    }
}

json字符串转实体

参考: https://blog.csdn.net/qq_36694133/article/details/116708853

新建Student类

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApp1
{
    /// <summary>
    /// 学生
    /// </summary>
    public class Student
    {
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 年龄
        /// </summary>
        public int Age { get; set; }
        /// <summary>
        /// 班级
        /// </summary>
        public string Classroom { get; set; }
    }
}

json字符串转实体类

using Nancy.Json;
using Newtonsoft.Json.Linq;
using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            
			//实体转json字符串
            Student mStudent = new Student();
            mStudent.Name = "张三";
            mStudent.Age = 23;
            mStudent.Classroom = "101";

            string mStudentStr = new JavaScriptSerializer().Serialize(mStudent);
            Console.WriteLine(mStudentStr); //{"name":"张三","age":23,"classroom":"101"}
            
			//json字符串转实体
            string mStr1 = "{\"name\":\"李四\",\"age\":22,\"classroom\":\"102\"}";
            Student mStudent1 = new JavaScriptSerializer().Deserialize<Student>(mStr1);
            //姓名:李四,年龄:22,班级:102.
            Console.WriteLine("姓名:{0},年龄:{1},班级:{2}.", mStudent1.Name, mStudent1.Age, mStudent1.Classroom);

            Console.ReadKey();
        }
    }
}

标签:Console,string,c#,json,WriteLine,字符串,using,zj1
From: https://blog.51cto.com/zicl/12167812

相关文章

  • 文心一言 VS 讯飞星火 VS chatgpt (360)-- 算法导论24.3 2题
    二、请举出一个包含负权重的有向图,使得Dijkstra算法在其上运行时将产生不正确的结果。为什么在有负权重的情况下,定理24.6的证明不能成立呢?定理24.6的内容是:Dijkstra算法运行在带权重的有向图时,果所有权重为非负值,则在算法终止时,对于所有结点,我们有。如果要写代码,请用go......
  • WPF ListBox ListBoxItemTemplate display image automatically via System.Timers.Ti
    //xaml<Windowx:Class="WpfApp6.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.micr......
  • [JavaScript] this 关键字
    全局作用域在浏览器中,如果在全局作用域下使用this,它将指向window对象;在Node.js环境中,则指向global对象。方法调用当一个函数作为对象的方法被调用时,this会指向该对象。constobj={name:"Alice",greet:function(){console.log(`Hello,${this.name}`)......
  • CSP-J模拟赛一补题报告
    IAKIOI!!!前言考的最好的一回:240pts首先开T1,45min干掉了然后T2,45min挂了然后T3,40min又挂了然后发呆了一会把T4骗分打了,此时已过去一坤时40minT2切了,最后20min打了T3骗分又发呆了一会T1:100ptsT2:100ptsT3:30ptsT4:10pts《正文》01011010101001010010101011010100011......
  • 从 JavaScript 到 OCaml:浅浅浅总结一下函数式编程
    背景这几天突击了一下Cornell的cs3110;抽了两个下午刷完了Chapter3,4,5的课后习题,很有感触。结合自己浅薄的函数式编程理解和贫瘠的JavaScript/TypeScript开发经历,总结一下自己第一阶段的函数式编程学习经历。......
  • [Electron] 搭建 Vite+Electron 项目
    安装搭建Vite项目(根据官方文档搭建),安装electron、nodemon。pnpminstallelectronnodemon-D配置electron/main.jsfile:[electron/main.js]import{app,BrowserWindow}from"electron";constcreateWindow=()=>{constwin=newBrowserWindow({wid......
  • Tricks(长期更新)
    会很杂,尽量分类,每个trick会配题。难以分类的难以分类可能只是自己太菜了。曼哈顿距离与切比雪夫距离的转化对于两点\((x_1,y_1),(x_2,y_2)\),曼哈顿距离为\(|x_1-x_2|+|y_1+y_2|\),切比雪夫距离为\(\max(|x_1-x_2|,|y_1-y_2|)\)。画图可以发现到原点的曼哈顿距离为\(1\)的点形......
  • python基础(二)之字符串
    字符串的定义Python中的字符串可以使用单引号、双引号和三引号(三个单引号或三个双引号)括起来字符串的引号嵌套单引号定义法,可以内含双引号双引号定义法,可以内含单引号可以使用 \转义特殊字符来解除引号效用,变成普通字符串字符串的拼接和重复使用“+”号连接字符串变量......
  • the Fibonacci Sequance
    在上小学时,我们便会在数学试卷(答案)上看见一道规律题(的答案):1,1,2,3,5,8,13,21,34,55...这就是斐波那契数列。规律很简单:前两个数均为1,从第三个数开始,当前数等于前两数之和。(有时可能第一个数为0)初学oi,也必定会遇见一些诸如求斐波那契数列中第n个数一类的问题。你是否......
  • 自然语言处理之话题建模:Neural Topic Models:神经主题模型的未来趋势与研究方向_
    自然语言处理之话题建模:NeuralTopicModels:神经主题模型的未来趋势与研究方向引言话题建模的定义与重要性话题建模是一种统计建模技术,用于发现文档集合或语料库中隐藏的主题结构。在自然语言处理(NLP)领域,话题建模被广泛应用于文本挖掘、信息检索、文本分类和推荐系统等......