
安卓中json数据的读取
安卓中json数据的解析
·
安卓中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.选中
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){
}
下面将解决编码问题???
点击阅读全文
更多推荐
活动日历
查看更多
直播时间 2025-02-26 16:00:00


直播时间 2025-01-08 16:30:00


直播时间 2024-12-11 16:30:00


直播时间 2024-11-27 16:30:00


直播时间 2024-11-21 16:30:00


目录
所有评论(0)