Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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文件中创建的,看起来像下面的图: { "key1": { "key2": "value2", "key3": "value3", } } 要生成JSON对象,我使用: JSONObject newUserJSON = new JSONObject(content); 我想做的是生成一个字符串数组,其中包含现有JSONObject的所有键,以便轻松访问它们。实现了Map接口,因此您可以使用与Map相同的方法生成键列表。特别是,


我有一个JSON对象,它是我从一个.JSON文件中创建的,看起来像下面的图:

{
  "key1": {
    "key2": "value2",
    "key3": "value3",
  }
}
要生成JSON对象,我使用:

JSONObject newUserJSON = new JSONObject(content);
我想做的是生成一个字符串数组,其中包含现有JSONObject的所有键,以便轻松访问它们。

实现了Map接口,因此您可以使用与Map相同的方法生成键列表。特别是,您可以使用or方法

例如(改编自):

JSONObject jsonObj=。。。;
listl=newarraylist(jsonObj.keySet());
实现Map接口,因此您可以使用与Map相同的方法生成密钥列表。特别是,您可以使用or方法

例如(改编自):

JSONObject jsonObj=。。。;
listl=newarraylist(jsonObj.keySet());
您可以遍历这些键。
JSONObject newUserJSON=新JSONObject(内容);
ArrayList键=新的ArrayList();
字符串键;
for(迭代器it=newUserJSON.keys();it.hasNext();){
key=it.next();
key.add(key);
}
此外,还需要为每个键处理嵌套的json对象。
您可以遍历这些键。
JSONObject newUserJSON=新JSONObject(内容);
ArrayList键=新的ArrayList();
字符串键;
for(迭代器it=newUserJSON.keys();it.hasNext();){
key=it.next();
key.add(key);
}
此外,还需要为每个键处理嵌套的json对象。

此问题的答案已在另一个SO线程中提供:

以下是适用于您的用例的等效项:

JSONObject jsnobject = new JSONObject(content);

JSONArray jsonArray = jsnobject.getJSONArray("key1");
for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject explrObject = jsonArray.getJSONObject(i);
}
JSONObject jsnobject=新的JSONObject(内容);
JSONArray JSONArray=jsnobject.getJSONArray(“key1”);
for(int i=0;i
此问题的答案已在另一个SO线程中提供:

以下是适用于您的用例的等效项:

JSONObject jsnobject = new JSONObject(content);

JSONArray jsonArray = jsnobject.getJSONArray("key1");
for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject explrObject = jsonArray.getJSONObject(i);
}
JSONObject jsnobject=新的JSONObject(内容);
JSONArray JSONArray=jsnobject.getJSONArray(“key1”);
for(int i=0;i
请同时提供有关您迄今为止尝试过的内容和对此不起作用的内容的信息,请参阅:可能重复的请同时提供有关您迄今为止尝试过的内容和对此不起作用的内容的信息,请参阅:可能重复的
JSONObject jsnobject = new JSONObject(content);

JSONArray jsonArray = jsnobject.getJSONArray("key1");
for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject explrObject = jsonArray.getJSONObject(i);
}