Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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/jsonsimple-使用键从jsonarray获取值_Java_Json_Key_Json Simple - Fatal编程技术网

java/jsonsimple-使用键从jsonarray获取值

java/jsonsimple-使用键从jsonarray获取值,java,json,key,json-simple,Java,Json,Key,Json Simple,我有以下示例json输出表单java/jsonsimple JSONArray是: [{"dd1":{"actionType":"Dept","collegeID":""}},{"dd2":{"actionType":"Dept","collegeID":""}}] 我试图找出如何通过使用dd1而不是ndx来获取dd1键的值 基本上,我希望能够测试一个给定的键,看看它是否在数组中,带有一个值 JSONArray的文档允许foo.get1,但不允许foo.getdd1 谢谢 附言 我尝试使用i

我有以下示例json输出表单java/jsonsimple

JSONArray是:

[{"dd1":{"actionType":"Dept","collegeID":""}},{"dd2":{"actionType":"Dept","collegeID":""}}] 
我试图找出如何通过使用dd1而不是ndx来获取dd1键的值

基本上,我希望能够测试一个给定的键,看看它是否在数组中,带有一个值

JSONArray的文档允许foo.get1,但不允许foo.getdd1

谢谢

附言

我尝试使用insert将上述内容插入到JSONObject中,然后执行foo.getdd1,但没有得到值

问题似乎归结为如何获取[]数组中的dict

doing something like foo.get(1).get("dd1") doesn't work...

谢谢你把json数组和json对象搞混了。使用foo.get1,您将检索包含字段dd1的JSON对象-然后您可以使用getdd1

在JSON输入中有一个数组包装您的字典,因此您必须首先获取字典,类似于:

foo.get(1).get("dd1");
但您可以将JSON更改为一个简单的字典,如下所示:

{
   "dd1": {"actionType":"Dept","collegeID":""},
   "dd2": {"actionType":"Dept","collegeID":""}
}
然后你就能做到:

foo.get("dd1");

你好foo是一个JSONArray。如果执行foo.get1,则得到数组的第二个元素,该元素具有dd2。。所以我需要一种从数组中获取字典的方法。哦,那么您需要执行foo.get0;;-foo.get0将获得第一个字典,foo.get0.getdd1将获得内部字典。嗨,eljunior。。。。foo.get0或foo.get1都不允许我获取初始dict。如果我执行foo.get0,我将拥有第一个数组/dict元素,该元素具有dd1。然后我可以对返回的项目执行getdd1。。但这是无用的,因为我已经有了dd1项目。我试图实现的是能够直接执行.getdd1,以便确定该键是否存在,并获取相关值。。。所以,如果你知道一种转换我所拥有的东西的方法,那么你就可以做一个abc.getdd1。。我在玩游戏!thanksIt是这样的:对于输入[{one:1},{two:2}],如果您执行foo.get0,您将拥有第一个字典:{one:1}。如果你这样做:foo.get0.getone你将得到1。因此,如果您想执行foo.getdd1并获取字典,那么您的输入必须是:{dd1:{dd1:{actionType:Dept,collegeID:}}}}},但是如果您的真实字典比您发布的更复杂,那么您将复制信息而没有实质性的收益。只有字典允许按键访问元素。希望有帮助!这对我不起作用。比如我有,;JSONArray arr=[{01:key1},{02:key2},{03:key3}]arr.get01抛出错误。