详解C#使用LitJson解析JSON的示例代码

本篇文章主要介绍了c#使用litjson解析json的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition – December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

如果曾经使用过Json,就会清楚Json可以分为两个部分:

1.  Json Object(A collection of name/value pairs)

2. JSON Array (An ordered list of values)

解析JSON的开源包非常多,在各种场合使用非常广泛,尤其长于网络传输。

本文介绍使用LitJson,并用C#语言来介绍使用JSON,可以在C#应用程序,web程序,还有Unity3d C#脚本中使用。

第一步:先去下载LitJson并导入当前的项目。

第二步:litJson的几个实例方式

1.使用JsonData来处理生成json:{“name”:”peiandsky”,”age”:28,”sex”:”male”}

JsonData data = new JsonData();    data["name"] = "peiandsky";    data["age"] = 28;    data["sex"] ="male";    string json1= data.ToJson();

登录后复制

2.对象中嵌套对象:{“name”:”peiandsky”,”info”:{“sex”:”male”,”age”:28}}

JsonData data2 = new JsonData();    data2["name"] = "peiandsky";    data2["info"] = new JsonData();    data2["info"]["sex"] = "male";    data2["info"]["age"] = 28;string json2 = data2.ToJson();

登录后复制

3. 将上述两种方式的Json解析到JsonData

JsonData jsonData2 = JsonMapper.ToObject(json2);Debug.Log(jsonData2["name"] + "  " + data2["info"]["sex"]);

登录后复制

4.使用JsonMapper来处理Json

Player player = new Player();    player.name = "peiandsky";    player.age = 23;    player.sex = "male";    string json=JsonMapper.ToJson(player);

登录后复制

5. 解析4中的json

Player player2 = JsonMapper.ToObject(json);

登录后复制

6. 使用最原始的方式生成Json

将数组转换成json:[“one”,”two”,”three”,”four”]

 JsonWriter writer = new JsonWriter();    writer.WriteArrayStart();    writer.Write("one");    writer.Write("two");    writer.Write("three");    writer.Write("four");    writer.WriteArrayEnd();

登录后复制

将复合对象转换成json字符串:{“book”:{“title”:”android game!”,”author”:”pei”,”bookdetail”:{“pages”:429,”about”:null}}}

JsonWriter writer2 = new JsonWriter();     writer2.WriteObjectStart();    writer2.WritePropertyName("book");     writer2.WriteObjectStart();    writer2.WritePropertyName("title");    writer2.Write("android game!");    writer2.WritePropertyName("author");    writer2.Write("pei");    writer2.WritePropertyName("bookdetail");     writer2.WriteObjectStart();    writer2.WritePropertyName("pages");    writer2.Write(429);    writer2.WritePropertyName("about");    writer2.Write(null);    writer2.WriteObjectEnd();     writer2.WriteObjectEnd();     writer2.WriteObjectEnd();    Debug.Log(writer2.ToString());

登录后复制

这种方式非常不方便,不建议使用。 

在使用LitJson中,建议使用JsonData,JsonMapper来处理Json的编码和解析。

Person[] p_array = { p,p,p};    string json_array=JsonMapper.ToJson(p_array);    Debug.Log(json_array);     JsonData pa = JsonMapper.ToObject(json_array);     Debug.Log(pa.IsArray+"   "+pa.Count);     for (int i = 0; i 

登录后复制

以上就是详解C#使用LitJson解析JSON的示例代码的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2444736.html

(0)
上一篇 2025年3月3日 14:42:17
下一篇 2025年3月3日 09:01:48

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论