Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查JSON是否具有字符串列表中的键_Java_Json - Fatal编程技术网

Java 如何检查JSON是否具有字符串列表中的键

Java 如何检查JSON是否具有字符串列表中的键,java,json,Java,Json,我的情况是,我有一个字符串列表和一个JSON。我想检查JSON是否包含列表中存在的所有键。如果列表中不存在任何键,那么我想从JSON本身中删除该键:值对。我怎样才能做到这一点 假设我有一个列表['name','password'],和 JSON作为{“name”:“veeru”,“pass”:“123”,“age”:“23”},, 现在,由于列表中不存在年龄,我想从JSON本身中删除该条目。我怎样才能做到这一点呢?我只想制作一个新对象 var obj = {"name":"veeru","pas

我的情况是,我有一个字符串列表和一个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 );
    }
}

使用一些json解析器引用json解析器,获取键值并将其与列表进行比较,然后使用列表中找到的值构造一个新的json