首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >访问json response(array)中的元素

访问json response(array)中的元素
EN

Stack Overflow用户
提问于 2018-05-28 14:48:36
回答 2查看 284关注 0票数 3

我有两个不同的(单独的) json格式的响应,并且我正在搜索元素,每个元素中都有值。

使用此方法评估表达式是否有效/无效:

代码语言:javascript
复制
public function evaluate(Json $json, $expression)
{
    if ($this->evaluationMode === 'javascript') {
        $expression = str_replace('->', '.', $expression);
    }
    try {
        return $json->read($expression, $this->propertyAccessor);
    } catch (\Exception $e) {
        throw new \Exception(sprintf('Failed to evaluate expression "%s"', $expression), 0, $e);
    }
}

一个例子以大括号开头,我认为它是object

代码语言:javascript
复制
{
    "nid": [
        {
            "value": 10278
        }
    ],
    ...
}

我可以通过输入nid[0].value来访问nid的值

但是,当我的json响应包含在[]中时

代码语言:javascript
复制
[
    {
        "test": "test",
        "title": "title"
    },
    ...
]

当我尝试test时,我没有得到有效的表达式

有效和无效的其他示例

通过访问data.type有效的,显示article

代码语言:javascript
复制
{
    "data": {
        "type": "article",
        "id": "123",
    ...
    }
}

无效的表达式,请尝试id[0].valueid.value

代码语言:javascript
复制
[
    {
        "id": [
            {
                "value": 398
            }
        ],
    ...
    }
]
EN

回答 2

Stack Overflow用户

发布于 2018-05-28 20:00:57

如果需要Json字符串中的值,则可以使用json-decode从Json中创建数组,也可以使用正则表达式从Json字符串中提取值。

票数 0
EN

Stack Overflow用户

发布于 2018-05-28 20:21:57

[ {...}, {...} ]

是一个jsonArray,并且

{ ..., ... }

是一个json对象。

尝试在jsonArray上使用getJSONObject(索引)方法从json数组访问json对象,然后就可以访问json对象中的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50560587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档