如何在laravel中解析包含json数组的json对象

时间:2017-11-02 20:36:15

标签: php json laravel laravel-5 laravel-5.2

我为自己构建一个API来返回一些数据,这些数据以json格式返回

{
[
    {
        "name": "John Doe",
        "year": "1st",
        "curriculum": "Arts"
    }
]}

问题是我无法访问此数据的任何字段,我已经通过这些输入在REST客户端上尝试

{
"test" : {
[
    {
        "name": "John Doe",
        "year": "1st",
        "curriculum": "Arts"
    }
]}}
"测试"是从android传递给API的输入的名称。

当我提出如上所述的请求时,我什么也得不到,但在做某事时

{
"test" : 
[
    {
        "name": "John Doe",
        "year": "1st",
        "curriculum": "Arts"
    }
]}

使用此代码处理它

$test = $request->input('test');
    $final_Length_Array = array('list', $test);
    $var = $final_Length_Array[1][0]['name'];

    return response()->json([
        'state' => '1',

        'test' => $var
    ]);

我得到了我想要的价值,现在如果有人可以告诉我如何处理它?<​​/ p>

1 个答案:

答案 0 :(得分:2)

不是有效的JSON 值:

{
  "test" : {
    [
      {
        "name": "John Doe",
        "year": "1st",
        "curriculum": "Arts"
      }
    ]
  }
}

测试键的值是一个对象,它应包含键值对,而不是列表。

将来你可以使用在线验证器检查,如果给定的字符串是JSON值,例如https://jsonlint.com/。还请查看JSON规范,http://www.json.org/,看看它应该是什么样子。