JSONObject中的嵌套数组返回为空(org.json)

way

我从JSON文件中获取了一个嵌套的JSON数组(“投资”),但是当我尝试使用它时,该数组似乎为空。

我的JSON文件:

    {
"invested": [
    {
        "email" : "[email protected]",
        "password" : "test"
    }
],
"notInvested": [
    {
        "email" : "[email protected]",
        "password" : "test"
    }
]}

这是我从文件中获取JSONObject的方法:

public JSONObject returnJSONObject(String path) throws JSONException, IOException 
{
    path = System.getProperty("user.dir") + path;
    
    JSONObject obj = parseJSONFile(path);

    return obj;
}

public static JSONObject parseJSONFile(String filename) throws JSONException, IOException 
{
    String content = new String(Files.readAllBytes(Paths.get(filename)));
    Reporter.log(content);
    return new JSONObject(content);
}

这就是失败的地方。当我尝试调用'loginPage.login(loginArray.get(0).toString(),loginArray.get(1).toString());';时;

JSONObject validLogins = returnJSONObject("valid-user-logins.json");
JSONArray loginArray = (JSONArray) validLogins.get("invested");

// submit valid credentials
loginPage.login(loginArray.get(0).toString(), loginArray.get(1).toString());

我在运行程序时返回的错误表明我的索引0超出了长度0的范围:

org.json.JSONException: JSONArray initial value should be a string or collection or array.

我对JSON很陌生,所以这一切仍然有些令人困惑,对我做错的任何想法吗?任何帮助将不胜感激!

编辑:为澄清起见,我试图从json文件中的“投资”数组中获取“电子邮件”和“密码”。

卢克·伍德沃德

您没有从JSON数组中的对象中正确提取电子邮件和密码。

loginArray包含一个JSON数组,其中包含一个元素,一个JSON对象。loginArray.get(0)具有以下值:

{
    "email" : "[email protected]",
    "password" : "test"
}

当您要提取此对象内各个属性的值时,您正在尝试将整个对象转换为字符串。

要获取电子邮件地址,请使用loginArray.getJSONObject(0).getString("email")这得到第一个元素出来loginArrayJSONObject,然后读取值email的这个属性JSONObject为字符串。

要获取密码,请使用loginArray.getJSONObject(0).getString("password")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在JSONObject(org.json)中找不到嵌套数组

来自分类Dev

如何使用JSONObject(org.json)获取嵌套数组

来自分类Dev

从jsreport访问json中的嵌套数组

来自分类Dev

JSON对象转换中的嵌套数组

来自分类Dev

从嵌套数组(json)中获取值

来自分类Dev

在android中解析json嵌套数组

来自分类Dev

在C#中反序列化嵌套数组JSON返回空值

来自分类Dev

如何在jqgrid中为json嵌套数组创建子行

来自分类Dev

JSON嵌套数组。C#DataContractJsonSerializer返回null

来自分类Dev

如何访问json数据返回中的嵌套数组?

来自分类Dev

打字稿,JSON:映射嵌套数组总是返回空

来自分类Dev

散列到json,而没有json中的嵌套数组

来自分类Dev

如何使用嵌套数组将JSON解析为对象

来自分类Dev

jQuery的JSON与嵌套数组

来自分类Dev

JSON中的嵌套数组到CSV中的不同行

来自分类Dev

JSON在嵌套数组中获取用户ID

来自分类Dev

在Json(嵌套数组)PHP中搜索键

来自分类Dev

json-查看键是否在嵌套数组中

来自分类Dev

如何从PHP中的json_decode访问嵌套数组?

来自分类Dev

JSON:使用jq编辑嵌套数组中的特定值

来自分类Dev

以特定方式解析Excel中的JSON嵌套数组

来自分类Dev

使用php从json中的嵌套数组获取数据

来自分类Dev

在Pandas中读取JSON(带有嵌套数组)

来自分类Dev

在JSON响应中访问嵌套数组。Typescript-ReactJS

来自分类Dev

对象json中的嵌套数组到csv

来自分类Dev

Java:更新 JSON 文件中嵌套数组节点的值

来自分类Dev

在 javascript 中,如何从 json 数据创建嵌套数组或对象?

来自分类Dev

在 Java 中获取 JSON 嵌套数组元素

来自分类Dev

使用 Postgres 中的嵌套数组高效查询 JSON

Related 相关文章

热门标签

归档