【问题标题】:Parse JSON from file using PHP from objects/arrays使用来自对象/数组的 PHP 从文件中解析 JSON
【发布时间】:2017-06-02 02:09:44
【问题描述】:

我在解码后的 JSON 的 php 中使用 print_r 得到以下输出:

stdClass Object
(
    [assignments] => Array
        (
            [0] => stdClass Object
                (
                    [assignmentid] => 1
                    [grades] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [id] => 1
                                    [userid] => 3
                                    [attemptnumber] => 0
                                    [timecreated] => 1484244192
                                    [timemodified] => 1484244203
                                    [grader] => 2
                                    [grade] => 85.00000
                                )

                        )

                )

        )

    [warnings] => Array
        (
        )

)

我想获取 [grade] => 85.00000 的值并将其存储在变量中。我该怎么做呢?

【问题讨论】:

  • 用您尝试过的内容更新问题。

标签: php json file parsing decode


【解决方案1】:

怎么样:

$var = $obj->assignments[0]->grades[0]->grade;

【讨论】:

  • 然后,您可以将此标记为已接受的答案,以便搜索类似问题的人知道答案。 ;)
  • 如果 Grades 数组中有多个对象,我如何遍历解码的 JSON。每次将值存储在变量/数组中
  • $grades = array(); foreach($obj->assignments[0]->grades as $gradeInfo){ $grades[] = $gradeInfo->grade; }
【解决方案2】:

使用true 作为json_decode() 的第二个参数将其解码为数组,然后您必须遍历结果。

$data = json_decode($json, true);
foreach ($data['assignments'] as $row) { 
    foreach ($row['grades'] as $grade) {
        echo $grade['grade'];
    }
}

【讨论】:

  • 为什么要把一个完美的对象转换成数组?只是没有必要
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-18
  • 2016-03-18
  • 2016-03-20
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多