首页 > 编程知识 正文

python解析json文件三种,500G的json文件如何解析

时间:2023-05-06 09:18:52 阅读:47250 作者:3077

本文主要记录JSON文件分析过程中的两种基本操作方式。

Jon文件的根可以是数组或对象。 其次,根据这两种情况进行基本的JSON文件分析。

首先,让我们看看以数组为根的JSON文件分析。

按如下方式创建JSON文本文件json.txt :

[ { 'id': 1,' name': '天下无双',' damage': '123' },{'id':' name': '雌雄难辨',' damage ]

class Skill { private int id { get; set; 私有字符串name { get; set; }私密int damage { get; set; }公共技能(intid、string name、int damage ) { this.id=id; this.name=name; this.damage=damage; }公共复盖字符串tostring () { string s=' '; s =id; s =name; s =damage; 返回s; 分析JSON文件的主要方法如下:

class program { staticvoidmain (string [ ] args ) { # regionlistskilllist=new list skill }; 将JSON文件解析为对象格式并存储在jsonData对象数组中的jsondatajsondata=JSON mapper.to object (file.read alltext (JSON.txt ) ) foreata JsonData idValue=temp['id']; Json数据名称值=temp [ ' name ' ]; jsondatadamagevalue=temp [ ' damage ' ]; intid=int.parse (idvalue.tostring ); string name=nameValue.ToString (; int damage=int.parse (damage value.tostring (); skill=newskill(id,name,damage ); list.add(skill; }foreach(skilltempinlist ) console.writeline ) temp; }控制台. read (; #endregion } }接下来,让我们看一下使用对象作为根嵌套对象数组的JSON文件的分析过程。

创建player.txt文件:

{ 'name': 'feiyue ',' level': 99,' age': 18,' skillList': [ { 'id': 1,' name ' : ]天下{ 'id': 3,' name': '暗流涌动',' damage'3360'89'}}

class Player { private string name; 保密级别; 私密int age; 私有列表技能列表; 由于public player (字符串名称、int level、int age、列表技能列表) /列表初始化使用实例赋值方法)//,因此分析json后,列表中的对象this.age=age; this.skillList=skillList; }公共复盖字符串tostring () { string s=' '; s =name; s=电平; s =age; foreach(skilltempinskilllist ) { s =temp.ToString ); //我重新编写了skill的tostring (方法,现在是字符串) } return s; }以下是分析JSON文件的主要方法:

class program { staticvoidmain (string [ ] args ) ) regionjsondatajsondata=JSON mapper.to object ) file.readalltext (' ) Json数据temp=Json数据; 播放程序播放程序=null; Json数据名称值=temp [ ' name ' ]; jsondatalevelvalue=temp [ ' level ' ]; JsonData ageValue=temp['age']; ListSkill list=new ListSkill (; //创建包含已解析对象数组foreach(JSONdataitemintemp ) (技能列表) )的空对象列表(JSONdataidvalue=item ) ) id ); Json数据名称值1=item [ ' name ' ]; jsondatadamagevalue=item [ ' damage ' ]; intid=int.parse (idvalue.tostring ); string name1=name value1. tostring (; int damage=int.parse (damage value.tostring (); //因为一个对象包含一个对象数组,所以先将该对象数组组成一个对象列表,然后与其他对象属性一起调用目标对象的构造函数Skill skill=null skill=newskill(id,name1,damage ); list.add(skill; } string name=nameValue.ToString (; int level=int.parse (level value.tostring (); intage=int.parse (age value.tostring (); player=newplayer(name,level,age,list ); 控制台. writeline (player ); 控制台. read (; #endregion } }上述两种分析方法是分析JSON文件的基本方法,也有分析JSON文件中对象相同类型文件的简单方法。 但是,如果JSON文件中的对象不是同一类型(如存储在JSON文件中的多个对象),则这些对象将由公共基类继承并保留自己的属性,这是通用方法无法分析的基本方法这是基础,复杂的分析过程是这些基础的方式累积起来的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。