我不知道这个标题是不是很准确,但是让我解释一下我想要的。(遗憾的是,它不是一个数组,我不能循环遍历它),其中包含许多其他具有类似元素的JSONObject(id,name,icon),当我读取一个元素时,它将其值写入一个单独的类中,并实现了Parcelable。下面是我的Parcelable类的样子,在我进一步解释之前:
public class ItemsInfo implements Parcelable {
public int itemId;
public String itemName, itemIcon;
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(itemName);
dest.writeString(itemIcon);
dest.writeInt(itemId);
}
public static final Parcelable.Creator<ItemsInfo > CREATOR = new Parcelable.Creator<ItemsInfo >() {
@Override
public ItemsInfo createFromParcel(Parcel source) {
ItemsInfo ei = new ItemsInfo();
ei.itemName = source.readString();
ei.itemIcon = source.readString();
ei.itemId = source.readInt();
return ei;
}
@Override
public ItemsInfo [] newArray(int size) {
return new ItemsInfo [size];
}
};
}
我想要的是,每次它读取一个具有类似元素的JSONObject时,都将它们写入String itemName中的ArrayList,这样以后我就可以通过索引或其他东西访问给定的项目,而不必为每个不同的项目创建单独的字符串和整数,如itemName1,itemName2,itemName3.....这可能吗?
1条答案
按热度按时间zkure5ic1#
您可以使用我的droidQuery库来简化
JSON
解析。要将JSONObject
转换为 Key-Value Map,您可以使用以下命令:然后,要遍历每个元素,只需执行以下操作:
现在你的
List
items 已经填充了JSONObejct
s的String表示。稍后,如果你想解析这个JSON,只需执行以下操作: