上面的情况是,我有一个字符串列表和一个JSON。我想检查JSON是否包含列表中存在的所有键。如果列表中不存在任何关键字,那么我想从JSON中删除该特定关键字:值对。我怎样才能做到这一点?如何检查JSON是否有字符串列表中的键
可以说我有一个列表['name','password']
,并 JSON作为{"name":"veeru","pass":"123","age":"23"}
, 现在因为年龄并不在列表中存在我想删除从我的JSON本身条目。我怎样才能做到这一点?
上面的情况是,我有一个字符串列表和一个JSON。我想检查JSON是否包含列表中存在的所有键。如果列表中不存在任何关键字,那么我想从JSON中删除该特定关键字:值对。我怎样才能做到这一点?如何检查JSON是否有字符串列表中的键
可以说我有一个列表['name','password']
,并 JSON作为{"name":"veeru","pass":"123","age":"23"}
, 现在因为年龄并不在列表中存在我想删除从我的JSON本身条目。我怎样才能做到这一点?
我只是做一个新的对象。
var obj = {"name":"veeru","pass":"123","age":"23"};
var strippedObj = {};
['name', 'password'].forEach(function(key) {
if(key in obj) {
strippedObj[key] = obj[key];
} else {
throw 'key ' + key + ' not found';
}
});
console.log(strippedObject); //{name:'verru', pass:'123'}
由于问题标记为java,因此您可能需要将json数据转换为java域对象。
public class JsonSample
{
static class User
{
String name;
char[] pass;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public char[] getPass()
{
return pass;
}
public void setPass(char[] pass)
{
this.pass = pass;
}
}
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException
{
String json = "{\"name\":\"veeru\",\"pass\":\"123\",\"age\":\"23\"}";
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
User user = mapper.readValue(json, User.class);
System.out.println(user.name);
System.out.println(new String(user.pass));
mapper.writeValue(System.out, user);
}
}
什么你曾尝试:
这可以使用jackson和下面的代码来完成? –
参考[this](http://stackoverflow.com/a/12510289/1283215) –
解析json使用一些JSON解析器,获取键值与列表进行比较,并构建一个新的json与在名单 –