安卓中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 {

    @Override
    protected 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){

        }

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐