LitJSON的使用

LitJSON的使用Net 库处理 JSON JavaScript 对象表示法 字符串之间的转换

大家好,欢迎来到IT知识分享网。

.Net库处理JSON (JavaScript对象表示法)字符串之间的转换。LitJSON是用c#编写的,它的目标是小巧、快速和易于使用。它快速而精简,没有外部依赖。只有几个类,可以很容易地嵌入到您自己的代码中,或者是一个非常小的程序集,可以随代码一起发布。代码是高度可移植的,这通常使得它很容易适应新的平台。 

下面可以看一下下面的这些例子就可以快速上手了。

例子

第一种

{ "Name":"apple", "Price":18 }
JsonData jd = new JsonData(); jd["Name"] = "apple"; jd["Price"] = 18; string jsonData = JsonMapper.ToJson(jd); Console.WriteLine(jsonData);

或者用JsonWrite

StringBuilder sb = new StringBuilder(); JsonWriter jw = new JsonWriter(sb); jw.WriteObjectStart(); jw.WritePropertyName("Name"); jw.Write("apple"); jw.WritePropertyName("Price"); jw.Write("18"); jw.WriteObjectEnd(); Console.WriteLine(sb.ToString());

第二种

{ "Fruits":{ "Name":"apple", "Price":18 }, "Meat":{ "Name":"beef", "Price":45 } }
JsonData jd = new JsonData(); jd["Fruits"] = new JsonData(); jd["Fruits"]["Name"] = "apple"; jd["Fruits"]["Price"] = 18; jd["Meat"] = new JsonData(); jd["Meat"]["Name"] = "beef"; jd["Meat"]["Price"] = 45; string jsonData = JsonMapper.ToJson(jd); Console.WriteLine(jsonData);

第三种

{ "AllRole": [ { "zhangsan": { "Weapon": ["daozi", "chazi", "qiang"], "HP": 25, "MoveSpeed": 10 } }, { "lisi": { "Weapon": ["daozi", "chazi", "qiang"], "HP": 25, "MoveSpeed": 10 } } ] }
JsonData jd = new JsonData(); JsonData jd2 = new JsonData(); jd2.SetJsonType(JsonType.Array); jd["AllRole"] = jd2; jd2.Add(CreateRole("zhangsan")); jd2.Add(CreateRole("lisi")); string jsonData = JsonMapper.ToJson(jd); Console.WriteLine(jsonData); JsonData CreateRole(string name) { JsonData role1 = new JsonData(); JsonData info = new JsonData(); info.SetJsonType(JsonType.Array); role1[name] = new JsonData(); JsonData weaponInfo = new JsonData(); weaponInfo.SetJsonType(JsonType.Array); weaponInfo.Add("daozi"); weaponInfo.Add("chazi"); weaponInfo.Add("qiang"); role1[name]["Weapon"] = weaponInfo; role1[name]["HP"] = 25; role1[name]["MoveSpeed"] = 10; return role1; }

第四种

[ { "Name":"apple", "Price":18 }, { "Name":"pear", "Price":25 } ]
JsonData jd = new JsonData(); jd.SetJsonType(JsonType.Array); JsonData jd2 = new JsonData(); jd2["Name"] = "apple"; jd2["Price"] = 18; JsonData jd3 = new JsonData(); jd3["Name"] = "pear"; jd3["Price"] = 25; jd.Add(jd2); jd.Add(jd3); string jsonData1 = JsonMapper.ToJson(jd); Console.WriteLine(jsonData1);

JsonData和JsonWrite

在JsonData中当实例化后是默认合集的=>{},是否通过SetJsonType就可以更改JsonData的类型,在JsonType中共有Object,Array,String,Int,Long,Double,Boolean类型,当选着到Array的时候JsonData就会更改为数组类型。

当我们默认直接使用的时候:

LitJSON的使用

当我们设置为其他的时候发现原来的写法就会失效:

LitJSON的使用

因为我们是Array类型了,所以得使用Add才可以往里面添加东西:

LitJSON的使用

包括往数组添加集合,往集合添加数组都是可以得,可以上到上方几个例子。

在JsonWrite中就没有那么多得讲究,

 使用WriteArrayStart()和WriteArrayEnd()的:

LitJSON的使用

 使用WriteObjectStart()和WriteObjectEnd()的:

LitJSON的使用

以及嵌套使用的: 

LitJSON的使用

LitJSON的使用

 LisJson和C#类的使用

类转Json

首先创建一个Weapon类以及装Weapon的Weapons类

public class Weapon { private string id; public string ID { get => id; set => id = value; } private string name; public string Name { get => name; set => name = value; } private string damage; public string Damage { get => damage; set => damage = value; } public Weapon() { } } public class Weapons { public List<Weapon> weapons; }

 实例化两个Weapon以及实例化Weapons,并且将Wepaon添加到Weapon的List里面,最后使用JsonMapper将Weapons.weapons转成Json并且控制台输出。

Weapons weapons = new Weapons(); Weapon weapon1 = new Weapon { ID = "00001", Name = "daozi", Damage = "100" }; Weapon weapon2 = new Weapon { ID = "00002", Name = "cha", Damage = "200" }; weapons.weapons = new List<Weapon> { weapon1, weapon2 }; Console.WriteLine(JsonMapper.ToJson(weapons.weapons));

LitJSON的使用

Json转类

实例化Weapons,以及实例化Weapons.weapons,然后用StreamReader读取Json文件,然后使用JsonMapper.ToObject将Json转换成类。

Weapons weapons = new Weapons(); //实例化List weapons.weapons = new List<Weapon>(); //读取Json文件 StreamReader sr = new StreamReader("C:\\Users\\admin\\Desktop\\testJson.json"); string json = sr.ReadToEnd(); //将转换出来的结果存在List里面 weapons.weapons = JsonMapper.ToObject<List<Weapon>>(json); //读取Weapons里面的第一个Weapon Weapon weapon = weapons.weapons[0]; Console.WriteLine(weapon.ID); Console.WriteLine(weapon.Name); Console.WriteLine(weapon.Damage);

可以看见我们也读取到Json里面的数据了。 

LitJSON的使用

注意:在转换的时候公开的属性要和Json文件内的一致,以及[] 代表List,{}代表一个类。

LitJSON的使用

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/110273.html

(0)
上一篇 2026-02-01 18:16
下一篇 2026-02-01 18:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信