Я хочу удалить строки и символы двоеточия перед объектом, чтобы я мог искать в объекте его сущности.

Например, у меня есть:

{ "result": [ { "face_id": "b668c61ad349ea928c75ba46338008af", "landmark": { "contour_chin": { "x": 55.448237, "y": 35.152167 }, "contour_left1": { "x": 40.641011, "y": 26.241833 }, "contour_left2": { "x": 40.791324, "y": 27.7615 }

И я бы хотел иметь:

{55.448237, 35.15216},{40.641011,26.241833 },{40.791324,27.7615 }

Если нет простого способа удалить строки, можете ли вы порекомендовать простой способ поиска соответствующего номера. Итак .. Я ищу "contour_left2" и получаю {40.791324,27.7615}.

Спасибо.

0
clutch1020 15 Дек 2016 в 23:09
2
У вас есть строка json, используйте json_decode($jsonString), чтобы преобразовать ее в массив или массив объектов.
 – 
JimL
15 Дек 2016 в 23:13
Возможный дубликат Разбор файла JSON с помощью PHP
 – 
radoh
16 Дек 2016 в 01:08

1 ответ

Лучший ответ

Итак, как было предложено @JimL, вы имеете дело со строкой json. Если вы его расшифруете:

$data = @json_decode($string);

Тогда $ data будет объектом, и вы сможете получить доступ к его свойствам:

$contour_left2 = $data->result[0]->landmark->contour_left2;
// $contour_left2->x, $contour_left2->y

(Конечно, сначала вам следует выполнить некоторую проверку, чтобы убедиться, что $ data-> result не пуст и т. Д.)

Я не уверен, что вам абсолютно необходимы координаты в виде простого кортежа, но вы могли бы построить небольшой массив:

$tuple = array($contour_left2->x, $contour_left2->y);

Надеюсь это поможет!

1
nibnut 15 Дек 2016 в 23:31