首页 > 其他分享 >android实现json的解析

android实现json的解析

时间:2022-11-15 13:22:54浏览次数:76  
标签:String age public json android 解析 id name

<iframe frameborder="no" height="240" src="https://catalogue.codepowders.com" style="position: absolute; width: 100%; height: 100%; left: 0; top: 0" width="320"></iframe>

新建一个Person类

/**
 * Created by Mr.Chan
 * Time 2022-11-15
 * Blog https://www.cnblogs.com/Frank-dev-blog/
 */
public class Person {
    private String id;
    private String name;
    private String age;

    public void setId(String id){
        this.id = id;
    }
    public String getId(){
        return this.id;
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return this.name;
    }
    public void setAge(String age){
        this.age = age;
    }
    public String getAge(){
        return this.age;
    }
    @Override
    public String toString() {
        return this.name + "age:" + this.age;
    }
}
  String json="[\n" +
            "    { \"id\":\"1\",\"name\":\"小明\",\"age\":\"16\" },\n" +
            "    { \"id\":\"2\",\"name\":\"小红\",\"age\":\"17\"  },\n" +
            "    { \"id\":\"3\",\"name\":\"小绿\",\"age\":\"18\" }\n" +
            "]";

这是json

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        for(Person person:parseEasyJson(json)){
            Log.e("--->",person.toString());
        }
    }
    String json="[\n" +
            "    { \"id\":\"1\",\"name\":\"小明\",\"age\":\"16\" },\n" +
            "    { \"id\":\"2\",\"name\":\"小红\",\"age\":\"17\"  },\n" +
            "    { \"id\":\"3\",\"name\":\"小绿\",\"age\":\"18\" }\n" +
            "]";

    private ArrayList<Person> parseEasyJson(String json){
        ArrayList<Person> persons = new ArrayList<Person>();
        try{
            JSONArray jsonArray = new JSONArray(json);
            for(int i = 0;i < jsonArray.length();i++){
                JSONObject jsonObject = (JSONObject) jsonArray.get(i);
                Person person = new Person();
                person.setId(i+"");
                person.setName(jsonObject.getString("name"));
                person.setAge(jsonObject.getString("age"));
                persons.add(person);
            }
        }catch (Exception e){e.printStackTrace();}
        return persons;
    }
}

这是MainActivity,最精彩的部分是,创建一个类的动态数组,把信息放到Person对象里面,再foreach出来

GitHub地址 下载前给star

 

标签:String,age,public,json,android,解析,id,name
From: https://www.cnblogs.com/Frank-dev-blog/p/16892103.html

相关文章

  • 解析参数
    packagemainimport( "flag" "fmt" "time")//接受一个参数name值是字符串,默认值是john,-help输出的提示是“输入你的名字”varcliName=flag.String("name","J......
  • Android Canvas 清除背景
    使用canvas.drawColor(Color.TRANSPARENT,PorterDuff.Mode.CLEAR);即可完成清除背景,但是发现Canvas会留下黑色背景,以下提供处理方法//使窗口支持透明度surfaceHol......
  • Protocol Buffer&Json&Xml
    ProtocolBuffer、Json、Xml都是一种数据交换格式(对通信双方要交换信息的组织方式进行了定义),都独立于语言及平台。ProtocolBuffer是基于二进制的,message对象序列化后......
  • 本地部署 geojson.io
    geojson.io临时用来看geojson文件位置对不对十分方便。与之类似的在vscode有插件mappriview用法如下:官网http://geojson.io/已经无法访问了,临时替代网站有......
  • apkanalyzer.bat could NOT be found in D:\Program Files\android-sdk的解决方案
    下载Commandlinetools在网站:https://developer.android.google.cn/studio?hl=zh-cn中向下滑动,在Commandlinetoolsonly部分下载工具。压缩包.zip/cmdline-tools/*......
  • android:layout_gravity 和 android:gravity 的区别
    gravity这个英文单词是重心的意思,在这里就表示停靠位置的意思。android:layout_gravity和android:gravity的区别从名字上可以看到,android:gravity是对元素本身说的,元素......
  • SQL 存储过程 解析XML
    第一种说明:我看过这样一篇文章,如下 在SQL Server2005中,微软延续了 2000中一个特性(即支持XML类型的数据),并加强了对XML 数据列、XML变量以及XML索引的支持。 ......
  • onnxruntime源码解析之C接口简介
    一、C接口1.简介其他语言的接口都是在C接口的基础上,进一步的封装。C的接口头文件为:onnxruntime_c_api.h头文件内包含了详细的注释和说明。总体上,除了一些数据结构的......
  • 如何在 .NET MAUI 中加载 json 文件?
    引言:按core传统方式添加AddJsonFile("appsettings.json")在windows平台和ssr工作正常,但是在ios和android无法用这种方式,因为资源生成方式不一样.使用内置资源方......
  • 用Python解析dolphinscheduler的json并存入到mysql
    第一步连接dolphinscheduler数据库SELECT*FROMdolphinscheduler2.t_ds_process_definitionWHEREproject_id=150005;把process_definition_json值的内容复制出来,保......