Конвертировать объект ответа PHP в объект Javascript - PullRequest
0 голосов
/ 10 октября 2018

Я пытался вызвать JavaScript в службу PHP.Тогда получаю ответ от этого сервиса.Но теперь мне нужно преобразовать этот объект ответа в объект JSON.

Мой PHP-сервис, например,

if ( isset($_POST['S3']) && ($_POST['S3'] == 'true' || $_POST['S3'] == 'TRUE')){
$result = $client->detectLabels([
    'Image' => [ 
        'S3Object' => [
            'Bucket' => 'spiralup',
            'Name' => ''.$filename
        ],
    ],
    'MaxLabels' => 10,
    'MinConfidence' => 60
]);
}else {
    $result = $client->detectLabels([
        'Image' => [ 
            'Bytes' => $contents
        ],
        'MaxLabels' => 10,
        'MinConfidence' => 60
    ]);
}
//echo($result);

//echo $result->getPath('Labels/Name');
//> ACTIVE

// Convert the Model to a plain array
var_export($result->toArray()['Labels']);

Мой код Javascript, например,

var form = new FormData();
form.append("imagePath", "D:\\xampp\\htdocs\\webcam\\webcamImage\\20181009091628.jpg");
form.append("S3", "false");

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "http://localhost:90/AWS_Test.php?Content-Type=application/json",
  "method": "POST",
  "headers": {},
  "processData": false,
  "contentType": false,
  "mimeType": "multipart/form-data",
  "data": form
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

Здесь мойПример ответа Объект.

      array (
        0 => 
        array (
          'Name' => 'Sathish',
          'Id' => 91,
        ),
        1 => 
        array (
          'Name' => 'Anish',
          'Id' => 92,
        ),
        2 => 
        array (
          'Name' => 'Anil',
          'Id' => 99,
        ),
        3 => 
        array (
          'Name' => 'Chennai',
          'Id' => 69,
        ),
        4 => 
        array (
          'Name' => 'Beard',
          'Id' => 64,
        ),
      )

Но мне нужно вот так:

[   {
        "0":[{"Name" : "Sathish", "Id" : 91}], 
        "1":[{"Name" : "Anish", "Id" : 92}], 
        "2":[{"Name" : "Anil", "Id" : 99}], 
        "3":[{"Name" : "Chennai", "Id" : 69}], 
        "4":[{"Name" : "Beard", "Id" : 64}]
    }
]

Заранее спасибо, и если вы проголосуете, пожалуйста, дайте мне знать, почему.

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Почему бы не использовать эту модель?

$arr=array(
    array(
        'name'=>'test1',
        'id'=>'1',
    ),
    array(
        'name'=>'test2',
        'id'=>'2',
    ),
    array(
        'name'=>'test3',
        'id'=>'3',
    ),

);
echo json_encode($arr); ///[{"name":"test1","id":"1"},{"name":"test2","id":"2"},{"name":"test3","id":"3"}]
0 голосов
/ 11 октября 2018

Обмен var_export с json_encode, и это должно сделать работу:

json_encode($result->toArray()['Labels']);

Документация: http://php.net/manual/en/function.json-encode.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...