Android JsonArray移除里面的一个对象

remove是在 API level 19时加入的,在低版本调用时会出现错误。这里用反射实现了兼容老版本的方法
public void Remove(int positon) throws Exception{  
    if(position < 0)  
        return;  
    Field valuesField=JSONArray.class.getDeclaredField("values");  
    valuesField.setAccessible(true);  
    List<Object> values=(List<Object>)valuesField.get(------JSONArray对象------);  
    if(position >= values.size())  
        return;  
    values.remove(position);  
}
将   ------JSONArray对象------   替换成你自己的JSONArray对象就行
首先,需要解析 JSON 数组并将其转换为 Java 中的 List 对象。可以使用 Java 自带的 JSON 解析库,例如 org.json 和 com.alibaba.fastjson 等。 以 org.json 库为例,假设我们有一个 JSON 数组字符串如下: ``` [ {"name": "Alice", "age": 20}, {"name": "Bob", "age": 23}, {"name": "Charlie", "age": 25} ] ``` 可以使用以下代码将其转换为一个包含三个对象的 List: ```java import org.json.JSONArray; import org.json.JSONObject; import java.util.ArrayList; import java.util.List; public class JsonArrayToObjectList { public static void main(String[] args) { String jsonArrayStr = "[{\"name\": \"Alice\", \"age\": 20}, {\"name\": \"Bob\", \"age\": 23}, {\"name\": \"Charlie\", \"age\": 25}]"; JSONArray jsonArray = new JSONArray(jsonArrayStr); List<Person> personList = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String name = jsonObject.getString("name"); int age = jsonObject.getInt("age"); Person person = new Person(name, age); personList.add(person); } System.out.println(personList); } static class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } } } ``` 其中,我们先将 JSON 字符串转换为 JSONArray 对象,然后遍历 JSONArray 中的每个元素,获取其属性值并创建对应的 Person 对象,最终将 Person 对象添加到 List 中。 输出结果: ``` [Person{name='Alice', age=20}, Person{name='Bob', age=23}, Person{name='Charlie', age=25}] ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值