首页 > 其他分享 >json的解析和生成(两种方式对比)(二)

json的解析和生成(两种方式对比)(二)

时间:2023-10-24 10:34:29浏览次数:39  
标签:json JSON 添加 JavaScriptSerializer NET 解析 对比

一: 解析JSON文件
       解析JSON文件用到两种方法都可以,即两种类库,都可以
       用到的类库
        JavaScriptSerializer类,内置于.NET中用于解析的生成JSON文件
        JSON.NET库,第三方加载包

    第一种用:NET自带的JavaScriptSerializer
        添加JavaScriptSerializer类
        步骤:VS中添加引用如图:

    

添加using,因为用了IO所以IO也需要添加


解析:
接下来读取JSON文件反序列化输出

 

class Person
    {
        public string name { get; set; }
        public int age { get; set; }

        public override string ToString()
        {
            return string.Format("Name:{0} \nAge: {1}", name, age);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            String JSONstring = File.ReadAllText("JSON.json");//读取json文件流放入字符串JSONstring

            JavaScriptSerializer ser = new JavaScriptSerializer();//实例化序列化对象

            Person p1 = ser.Deserialize<Person>(JSONstring);//反序列化JSONstring字符串为指定的Person类型对象

            Console.WriteLine(p1);
            Console.ReadKey();
        }
    }

 

 第二种用:JSON.NET库,第三方加载包解析JSON文件
                通过Nuget添加JSON.NET库

并添加引用
using Newtonsoft.Json;
如图:注意不同点红框

 二: 生成JSON文件
        两种方式的不同对比

 

 

标签:json,JSON,添加,JavaScriptSerializer,NET,解析,对比
From: https://www.cnblogs.com/Peretsoft/p/17784143.html

相关文章

  • json简介&语法(一)
    简介:    轻量级的数据交换格式,独立于语言,与JavaScript对象的语法相同。可用于存储应用程序数据。比XML轻量。语法:  json包含值,对象,数组值:字符串,数值,真,假,空值,对象,数组如图:      一:JSON对象  1.名称/值对使用冒号  2.用花括号括起  3.用逗号......
  • 深入解析i++和++i的区别及性能影响
    在我们编写代码时,经常需要对变量进行自增操作。这种情况下,我们通常会用到两种常见的操作符:i++和++i。最近在阅读博客时,我偶然看到了有关i++和++i性能的讨论。之前我一直在使用它们,但从未从性能的角度考虑过,这让我突然产生了兴趣。尽管它们看起来相似,但它们之间存在微妙而重要的区别......
  • 文件stm32f4xx.h 解析
    本文简短不看版:这个是头文件的头文件这个文件是个头文件,它又包含了两个头文件(通过在Keil魔法棒工具定义两个宏STM32F407xx和USE_HAL_DRIVER 开关)#include"stm32f407.h" //某一特定F4型号芯片寄存器定义#include"stm32f4xx_hal.h"//HAL库函数(HAL库编程的API总集合)......
  • 使用Java语言 利用OpenCV,对两种图片相似度对比
    下边是代码部分importorg.opencv.core.*;importorg.opencv.imgcodecs.Imgcodecs;importorg.opencv.imgproc.Imgproc;importjava.io.*;importjava.net.URL;importjava.util.ArrayList;importjava.util.List;importorg.opencv.features2d.*;importorg.opencv.core.Mat......
  • armsom:为何选择rk3588开发与Jetson Nano引脚兼容的嵌入式产品之规格对比
    下面是JetsonNano模块(以NVIDIAJetsonNano为代表)与armsom开发的AIM5(RockchipRK3588)的主要技术规格的对比,整理成表格:规格JetsonNano(NVIDIA)ArmSoM-AIM5CPU核数四核ARM®Cortex®-A57MPCore处理器四核ARM®Cortex®-A76+四核ARM®Cortex®-A55GPU核数1......
  • armsom:为何选择rk3588开发与Jetson Nano引脚兼容的嵌入式产品之规格对比
    下面是JetsonNano模块(以NVIDIAJetsonNano为代表)与armsom开发的AIM5(RockchipRK3588)的主要技术规格的对比:规格JetsonNano(NVIDIA)ArmSoM-AIM5CPU核数四核ARM®Cortex®-A57MPCore处理器四核ARM®Cortex®-A76+四核ARM®Cortex®-A55GPU核数128核Maxwell架......
  • y电容和高压瓷片电容区别对比
    多外观上来看,Y电容和高压瓷片电容非常像,有人甚至这样认为,所谓的Y电容,也就是多了个认证的瓷片电容,事实上真的是这样的吗?Y电容和瓷片电容有区别吗?到底有哪些区别?今天KYET小编就来为大家详细讲解一下。Y电容确实也属于高压瓷片电容:y电容也就是常见的安规电容器的一种,也可以叫做安......
  • 随手笔记:Swagger 报错 NO Found /swagger/V1/swagger.json
    开发本地测试没问题,发布iis报错原因:swagger判断开发环境和发布环境解决办法:在startup.cs文件中找到调用swagger方法不做判断app.UseSwagger();      app.UseSwaggerUI(c=>c.SwaggerEndpoint("/swagger/v1/swagger.json","MyWebAPIV1"));如图所示:......
  • spring data jpa 使用原生sql查询数据库 原生sql中有in关键字 该如何传参?直接传List集
    springdatajpa使用原生sql查询数据库原生sql中有in关键字该如何传参?直接传List集合就能找到数据,解析List集合交给springdatajpa框架去做遇到问题?第一次写的时候in关键字后面传的是将List集合转化为一个这样的字符串,"'123','23','23'" @Query(nativeQuery=true,......
  • 使用Matcher进行正则匹配-解析模板参数
    一、介绍Matcher是正则表达式的一部分,它用于执行正则表达式的匹配操作。Matcher通常与Pattern类一起使用,Pattern用于编译正则表达式,而Matcher用于在文本中搜索和匹配该正则表达式。二、具体用途1)文本匹配:可以使用 Matcher 来查找文本中是否包含与正则表达式模式匹配的子字符......