如何为JSON数组中的值添加键,将其转换为对象数组?
解决JSON数组格式转换问题
嗨,你已经搭好核心框架啦,只差最后一步获取原数组里的元素!从你代码里用的JSONObject来看,应该是用的org.json库,那只需要调用JSONArray的getString()方法,就能拿到对应索引位置的字符串值了。
给你补全后的完整可运行代码:
// 假设你已经初始化了原JSON数组 jsonMatchingContacts JSONArray convertedContacts = new JSONArray(); for (int i = 0; i < jsonMatchingContacts.length(); i++) { JSONObject newContact = new JSONObject(); // 从原数组取出第i个字符串元素,赋值给phone_number键 newContact.put("phone_number", jsonMatchingContacts.getString(i)); convertedContacts.put(newContact); } // 现在convertedContacts就是你想要的[{"phone_number":"value1"}, ...]格式啦
小补充:
如果原数组里的元素不是字符串类型(比如数字、布尔值),可以换成对应类型的方法,比如getInt(i)、getBoolean(i),不过根据你给出的原数组格式,getString(i)完全够用。
本质上就是遍历原数组的每一个元素,把它包装成带有指定key的JSONObject,再逐个放进新的JSONArray里,这样就完成格式转换啦~
内容的提问来源于stack exchange,提问作者CHarris
相关产品推荐
相关产品推荐

