【发布时间】:2015-07-20 17:54:33
【问题描述】:
基本上,我正在尝试将应用收到的 JSON 对象插入 SQLite 数据库。当我以连续 ID 命名我的 JSON 对象时,我想创建一个 do while 循环来计算它接收到的对象数量,并在接收到最大对象时停止。
我的代码如下:
mydb.StoreMemberInfo(Integer.valueOf(json.getString(TAG_MEMBER_ID).toString()), json.getString(TAG_MEMBER_NAME), Integer.valueOf(json.getString(TAG_MEMBER_POINT).toString()));
do {
mydb.StoreShopInfo(Integer.valueOf(json.getString(TAG_SHOP_ID + ++shop_ID_counter).toString()), json.getString(TAG_SHOP_NAME + ++shop_name_counter));
}
while(TAG_SHOP_ID + shop_ID_counter != null);
我的应用应该接收的 JSON 对象如下:
{"success":1,"message":"Login successful","member_id":"1","member_name":"Peter","member_point":"1000","shop_ID_1":"1","shop_name_1":"Chatime","shop_ID_2":"2","shop_name_2":"Beard Papa","shop_ID_3":"3","shop_name_3":"CoolBlog","friend_ID_1":"2","friend_name_1":"James","friend_ID_2":"3","friend_name_2":"Mary"}
循环应该在到达 shop_ID_4 后停止,但因为它不存在,但代码处于等待状态并且不处理其他代码。我该怎么办?
【问题讨论】:
-
我希望循环在检测到不存在这样的 JSON 对象时结束,我认为 null 是一个合理的条件。结果不是。
-
我不明白。它应该如何理解 不存在 JSON 条件?
-
另外,就我个人而言,如果我知道应该返回的确切值,我会直接为它们制作一个解析器。
-
所以基本上我想要实现的是当有许多 JSON 对象传递给应用程序时,我希望它将确切数量的对象插入数据库并在完成后停止。在此示例中,有 3 个商店 ID,我想创建一个循环来读取 3 个 ID 并在之后停止。
-
@AshleyAlvarado 事情是值不是恒定的。这取决于数据库中的数据。这就是我想使用循环的原因。
标签: android json sqlite do-while