如何根据特定键的值 null 删除 JSON 数组中的 JSON 对象?
How to delete JSON Object inside JSON Array based on particular key's value null?
[{"period":"","billing_mode":"checked","price":"1500","bundleid":0,"name":"hello stack","deviceid":"923is3j4","date":"2016-06-23","userid":0,"type":"mobile","strutid":999}]
我有这个 JSON 数组,里面有 JSON 上面的对象。
我想要 JSON 个具有
的对象
"period":""
获得deleted.Is可能吗?请帮助我谢谢。
P.S:这是针对 Java 而不是 Java 脚本。
看看你可以用这种方式
这是给 PHP 人的:)
$json='{"period":"","billing_mode":"checked","price":"1500","packageid":0,"name":"hello stack","subscriberid":"9283is3j4","date":"2016-06-23","serviceid":0,"type":"event","programid":999}';
$arr = json_decode($json, true);
unset($arr['period']);
echo json_encode($arr);
如果你想在 java
然后使用 java-json.jar
你可以实现如下:
public static void main(String[] args) throws JSONException {
String s="{\"period\":\"\",\"billing_mode\":\"checked\",\"price\":\"1500\",\"packageid\":0,\"name\":\"hello stack\",\"subscriberid\":\"9283is3j4\",\"date\":\"2016-06-23\",\"serviceid\":0,\"type\":\"event\",\"programid\":999}";
JSONObject jsonObj = new JSONObject(s);
JSONArray nameArray = jsonObj.names();
List<String> keyList = new ArrayList<String>();
for (int i = 0; i < nameArray.length(); i++) {
keyList.add(nameArray.get(i).toString());
}
for (String key : keyList) {
if (jsonObj.get(key).equals(""))
{
jsonObj.remove(key);
}
}
System.out.println(jsonObj.toString());
}
如果我们删除 JSON Key
While Iterating JSONArray
那么它会给出以下异常:
Exception in thread "main" java.util.ConcurrentModificationException
所以我通过将JSON array
复制到Java collection
并使用JSONObject.names()
方法获得JSONArray of keys.
来实现
[{"period":"","billing_mode":"checked","price":"1500","bundleid":0,"name":"hello stack","deviceid":"923is3j4","date":"2016-06-23","userid":0,"type":"mobile","strutid":999}]
我有这个 JSON 数组,里面有 JSON 上面的对象。 我想要 JSON 个具有
的对象"period":""
获得deleted.Is可能吗?请帮助我谢谢。 P.S:这是针对 Java 而不是 Java 脚本。
看看你可以用这种方式
这是给 PHP 人的:)
$json='{"period":"","billing_mode":"checked","price":"1500","packageid":0,"name":"hello stack","subscriberid":"9283is3j4","date":"2016-06-23","serviceid":0,"type":"event","programid":999}';
$arr = json_decode($json, true);
unset($arr['period']);
echo json_encode($arr);
如果你想在 java
然后使用 java-json.jar
你可以实现如下:
public static void main(String[] args) throws JSONException {
String s="{\"period\":\"\",\"billing_mode\":\"checked\",\"price\":\"1500\",\"packageid\":0,\"name\":\"hello stack\",\"subscriberid\":\"9283is3j4\",\"date\":\"2016-06-23\",\"serviceid\":0,\"type\":\"event\",\"programid\":999}";
JSONObject jsonObj = new JSONObject(s);
JSONArray nameArray = jsonObj.names();
List<String> keyList = new ArrayList<String>();
for (int i = 0; i < nameArray.length(); i++) {
keyList.add(nameArray.get(i).toString());
}
for (String key : keyList) {
if (jsonObj.get(key).equals(""))
{
jsonObj.remove(key);
}
}
System.out.println(jsonObj.toString());
}
如果我们删除 JSON Key
While Iterating JSONArray
那么它会给出以下异常:
Exception in thread "main" java.util.ConcurrentModificationException
所以我通过将JSON array
复制到Java collection
并使用JSONObject.names()
方法获得JSONArray of keys.