Dee*_*ass 3 python scripting json python-3.x
我是python的新手,当我从java向python发送json arraylist obect时遇到了这个问题,而从java发送json对象时,arraylist的json结构是
[{'firstObject' : 'firstVal'}]
Run Code Online (Sandbox Code Playgroud)
但是当我在python中收到它时,我得到的值是
{'listName':{'firstObject':'firstVal'}}
Run Code Online (Sandbox Code Playgroud)
当我像这样在数组中传递多个对象时:
[{'firstObject' : 'firstVal'},{'secondObject' : 'secondVal'}]
Run Code Online (Sandbox Code Playgroud)
我从python end收到json作为
{'listName':[{'firstObject':'firstVal'},{'secondObject' : 'secondVal'}]}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么会这样。有人可以帮助我一种将第一种情况设为数组对象的方法,还是一种判断json变量是否为数组类型的方法。
小智 5
每当您使用模块中的load(或loads)函数时json,都会得到一个dict或一个list对象。为确保获得列表而不是包含的字典listName,可以执行以下操作:
import json
jsonfile = open(...) # <- your json file
json_obj = json.load(jsonfile)
if isinstance(json_obj, dict) and 'listName' in json_obj:
json_obj = json_obj['listName']
Run Code Online (Sandbox Code Playgroud)
那应该给您期望的结果。