安卓中json数据的读取
创始人
2025-05-30 02:46:27
0

安卓中json数据的读取

1.采用org.json读取的方式

1.1创建assets文件夹

1.创建assests文件夹

直接下一步

 

1.2创建过程

1.创建json测试文件

{"studnet":[{"id":1,"name":"张三","age":20},{"id":2,"name":"李思","age":21},{"id":3,"name":"王五","age":22}],"college":"山东xx大学"
}

2.读取数据

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;import org.json.JSONArray;
import org.json.JSONObject;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//读取json文件try{//获取assests文件夹下的内容InputStreamReader in=new InputStreamReader(getAssets().open("test.json"),"UTF-8");System.out.println("获取输入流");//读取文件的信息BufferedReader br=new BufferedReader(in);String line="";StringBuffer builder=new StringBuffer();while ((line=br.readLine())!=null){builder.append(line);}//可以获取一个字符串对象JSONObject obj=new JSONObject(builder.toString());//获取json数据String object=obj.getString("college");System.out.println("获取的json数据college"+object);//获取数组数据JSONArray array=obj.getJSONArray("student");//打印json数组的信息System.out.println("获取的json数据"+array);//获取数组中的对象信息System.out.println("获取的json数据"+array.get(0));System.out.println("获取的json数据"+array.get(1));System.out.println("获取的json数据"+array.get(2));//获取数组中的对象中的信息System.out.println("获取的json数据"+new JSONObject(array.get(0).toString()).getString("id"));System.out.println("获取的json数据"+new JSONObject(array.get(0).toString()).getString("name"));System.out.println("获取的json数据"+new JSONObject(array.get(0).toString()).getString("age"));}catch (Exception e){System.out.println("出现错误:"+e);}}
}

3.效果图

2.采用GSON读取的方式

2.1Java模块的创建

1.创建Java程序

默认的名称

生成的程序和原先的模块是并列的关系

2.编写Java程序

2.2Java的设置

1.jdk的设置

 

2.增加application的运行

 3.选中刚刚创建的进行编译运行

2.3采用GSON的方式

1.选中

f7375427cb15e47f156e3b84db06d09c.png

2.找到刚刚创建的lib

3.引入对应的库函数

  • 选中GSON

依赖的包会自动的加入的。

解析的代码

public class MyClass {public static void main(String[] args) {try {System.out.println("hello");
//        定义一个json的解析器JsonParser parser=new JsonParser();FileReader reader=new FileReader("C:\\Users\\cxl\\Desktop\\food\\k3\\SQL\\jsonread\\src\\main\\assets\\test.json");JsonObject object=(JsonObject) parser.parse(reader);System.out.println("要读取的文件的信息");System.out.println(object.get("college").getAsString());System.out.println( object.get("student").getAsJsonArray());}catch (Exception e){}

 下面将解决编码问题???

相关内容

热门资讯

以防长称以军已做好对伊采取独立... 据央视新闻,以色列国防部长卡茨日前在与军事记者的闭门谈话中,阐述了以色列在黎巴嫩、伊朗及加沙地带等多...
特朗普:美伊会谈“将于明日在多... 央视新闻消息,美国总统特朗普6月29日在社交媒体发文称,伊朗已提出会谈请求,“会谈将于明日在(卡塔尔...
刚辞职的韩国国足主教练洪明甫遭... 新华社北京6月29日电 韩国警方29日说,由于刚刚辞职的韩国国家足球队主教练洪明甫遭遇死亡威胁,洪明...
真情陪伴暖桑榆——“欢乐陪伴·... 6月27日,由福州市永泰县委社会工作部、永泰县民政局指导,永泰县慈善总会、永泰县霞拔乡人民政府、永泰...
从硬扛到指尖轻点,听障人士:1... “报警成功了!”近日,在荆州市消防救援中心指挥大厅,一名听障人士低头操作手机,通过荆州消防微信公众号...
德国北部发生枪击事件致5人死亡 据德媒援引德国警方消息报道,德国北部施塔德29日发生枪击事件,致5人死亡,嫌疑人已被抓获。 来源|新...
豆包APP灰测打车出行 6月22日消息,豆包APP在北京、杭州两地灰测一键打车服务,由曹操出行提供打车服务。 (科创板日报)
北京:端午假期重点监测127家... 6月22日消息,端午假期期间(2026年6月19日-21日),北京市重点监测的127家企业实现销售6...
英矽智能:与SK生物制药达成一... 6月22日消息,英矽智能在港交所公告,英矽智能已与SK生物制药公司达成一项研发合作,旨在发掘AI驱动...
劳埃德银行:计划招聘近300名... 6月22日消息,劳埃德银行日前发布声明称,未来几个月,集团将招聘近300名与智能体人工智能相关人才,...