本篇文章主要介绍了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<Player>(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 < pa.Count;i++ ) { Debug.Log(pa[i]["name"]+"-"+pa[i]["age"]+"-"+pa[i]["score"]+"-"+pa[i]["birth"]); int age = int.Parse(pa[i]["age"].ToString()); Debug.Log(age); }
以上是详解C#使用LitJson解析JSON的示例代码的详细内容。更多信息请关注PHP中文网其他相关文章!

C#和.NET运行时紧密合作,赋予开发者高效、强大且跨平台的开发能力。1)C#是一种类型安全且面向对象的编程语言,旨在与.NET框架无缝集成。2).NET运行时管理C#代码的执行,提供垃圾回收、类型安全等服务,确保高效和跨平台运行。

要开始C#.NET开发,你需要:1.了解C#的基础知识和.NET框架的核心概念;2.掌握变量、数据类型、控制结构、函数和类的基本概念;3.学习C#的高级特性,如LINQ和异步编程;4.熟悉常见错误的调试技巧和性能优化方法。通过这些步骤,你可以逐步深入C#.NET的世界,并编写高效的应用程序。

C#和.NET的关系是密不可分的,但它们不是一回事。C#是一门编程语言,而.NET是一个开发平台。C#用于编写代码,编译成.NET的中间语言(IL),由.NET运行时(CLR)执行。

C#.NET依然重要,因为它提供了强大的工具和库,支持多种应用开发。1)C#结合.NET框架,使开发高效便捷。2)C#的类型安全和垃圾回收机制增强了其优势。3).NET提供跨平台运行环境和丰富的API,提升了开发灵活性。

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

C#和.NET通过不断的更新和优化,适应了新兴技术的需求。1)C#9.0和.NET5引入了记录类型和性能优化。2).NETCore增强了云原生和容器化支持。3)ASP.NETCore与现代Web技术集成。4)ML.NET支持机器学习和人工智能。5)异步编程和最佳实践提升了性能。

c#.netissutableforenterprise-levelapplications withemofrosoftecosystemdueToItsStrongTyping,richlibraries,androbustperraries,androbustperformance.however,itmaynotbeidealfoross-platement forment forment forment forvepentment offependment dovelopment toveloperment toveloperment whenrawspeedsportor whenrawspeedseedpolitical politionalitable,

C#在.NET中的编程过程包括以下步骤:1)编写C#代码,2)编译为中间语言(IL),3)由.NET运行时(CLR)执行。C#在.NET中的优势在于其现代化语法、强大的类型系统和与.NET框架的紧密集成,适用于从桌面应用到Web服务的各种开发场景。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。