在C#中使用和操作json
本文发布于1331天前,最后更新于 1330 天前,其中的信息可能已经有所发展或是发生改变。

前言

json是一种与xml一样的结构化数据语言,也是一种被广泛用于存储和传输领域的数据格式,它易于人阅读和编写,同时也易于机器解析和生成。那么,在C#语言中,如何操作json格式的文本或对象呢?

安装轮子

所幸,很多前辈们都已经为我们造好了轮子,这里我先介绍其中之一,以后可能会拓展另外一些轮子。

这个轮子就是LitJson,而我的开发环境是VS2015(都1202了,还在用2015?好吧,我就是懒得更新)

下面是它的英文描述

A.Net library to handle conversions from and to JSON(JavaScript Object Notation) strings. Written in C# , and it'sintended to be small, fast and easy to use.
lt's quick and lean, without external dependencies.

要在C#项目中使用它,其实很简单

如图所示,只需在解决方案管理器中对项目右键,之后打开项目的NuGet包管理器,然后再搜索LitJson,并下载安装完成,随后再在源代码中引入LitJson,这些都完成了之后,就可使用这个库啦!

使用轮子

引入LitJson的方法是在源代码头部输入using LitJson;

在LitJson中,一个JsonData类型就相当于Javascript中的一个Object,

而如果要将字符串转换成JsonData,这个库则为我们提供了一个JsonMapper工具

它有如下静态方法:

主要用到的是ToJsonToObject和泛型的ToObject<>

  • ToJson 顾名思义就是将一个Object(在这里是一个JsonData或一个具体的C#类),转换成Json文本,其中转换对象如果是个C#类,那么只会把他的公有对象转换成Json(因为私有不可访问)
  • ToObject 这个是将一个Json文本转换成JsonData对象
  • ToObject<> 这个是上一个方法的泛型重载,他支持将Json文本转换成一个具体的,已经定义了的C#类

接下来使访问Json对象中的属性,这就相当简单了

首先创建一个JsonData对象,并为他赋值

接下来直接像是用Python中的字典一样,就可访问JsonData中的字段值啦,比如如果有一个名为city的字段,那么就可直接访问jsData["city"] ,JsonData重载了[]运算符,使得字段的访问变得轻而易举。

问题来了,如果我想要字段值的字符串怎么办呢?

直接在后面接上.ToString()就好啦,他同样重载了这个方法

结语

上面只是简单地介绍了LitJson的一些基本用法,而且LitJson只是众多轮子中的其中一个,以后如果用到了其他轮子,可能会更新一些其他轮子的用法

评论

  1. Pixris
    Windows Edge 101.0.1210.39
    3 年前
    2022-5-11 10:22:31

    个人感觉在C#中使用Newtonsoft.Json更好,平时日常工作中用的多的是Newtonsoft.Json(╯‵□′)╯︵┴─┴

    • 博主
      Pixris
      Android Chrome 66.0.3359.126
      3 年前
      2022-5-28 13:12:58

      本来想用滴,但这个litjson看上去比较简单,就用了这个

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
Source: https://github.com/zhaoolee/ChineseBQB
Source: https://github.com/zhaoolee/ChineseBQB
Source: https://github.com/zhaoolee/ChineseBQB
颜文字
Emoji
小恐龙
花!
滑稽大佬
演奏
程序员专属
上一篇
下一篇