c#(操作json文件)
程序员文章站
2022-06-12 17:01:38
...
c#
- 概:害,又是老懒鬼的笔记,多的操作一个都不计,就简单记下怎么用c#解析json文件,怎么将一个类对象转换成json行了(依旧是基本搬了siki老师的例子)。
操作json文件
- 先把siki老师写的json例子直接抄过来(老懒鬼了,例子都照抄
[
{"id":2,"name":"天下无双","damage":123},
{"id":3,"name":"天下第一","damage":9999},
{"id":4,"name":"天下无贼","damage":15}
]
单步具体操作
- 调用JsonMapper.ToObject(string s);方法得到该json文件的JsonData对象,参数是文件路径,这个对象到底要怎么用,还是取决于json文件怎么写的
JsonData jsonData = JsonMapper.ToObject(File.ReadAllText("json技能信息.txt"));
//这边这个文件编写的其实是一个技能数组的形式,所以得到的JsonData对象其实是个技能数组
//可以直接foreach进行遍历,来取得其内部每个技能的数据
foreach(JsonData temp in jsonData)
{
JsonData idValue = temp["id"]; //通过字符串所引起取得键值对的值
int id = Int32.Parse(idValue.ToString());
//这边通过ToString方法取得JsonData的字符串数据,然后对其转换得到int数据
}
上面演示了如何单个解析Json文件的信息,当然你要是愿意一个信息一个信息的填进一个对象我也没意见,但是像我这种懒鬼,绝对绝对是要用下面这个方法的,太香了
json转对象
- 直接一手泛型,让它自己对照你指定的类的属性名去找对应的值,然后自己创建对象。依旧对照上面那个例子来写
class Skill
{
//先定义下技能的类
//一定要把属性设置为public
public int id;
public int damage;
public string name;
}
Skill[] skills = JsonMapper.ToObject<Skill[]>(File.ReadAllText("json技能信息.txt"));
//这边泛型里给的是Skill类型数组,所以我们直接用Skill的数组来接收结果
//需要注意这种方法json文件里写的键一定要和指定类型的属性命名对应上,不然会出问题
//也可以用如下方法做成list对象
List<Skill> skillList = JsonMapper.ToObject<List<Skill>>(File.ReadAllText("json技能信息.txt"));
对象转json
- 这边使用JsonMapper.ToJson(Object o);方法,把对象作为参数传进去,返回一个字符串,就是编好得json字符串。
上一篇: WebService最常用的两种方法
下一篇: C# 获取Json中的List