PHP: преобразовать данные словаря php в пару ключ: значение - PullRequest
0 голосов
/ 05 июля 2018

У меня есть набор данных smiller в dictonary, и я хочу получить пару ключ-значение для этих данных. вот набор данных:

$data = "{u'test_field2': u'NONE', u'test_field3': u'NONE', u'test_account': u'NONE', u'test_account_1': u'NONE'}"

Я делаю json_decode($data, true);, но не повезло с этим

Извините, если мне неясно.

Кстати, я делаю это на PHP

результат должен быть таким:

test_field2: NONE
test_field3: NONE

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Вы должны попробовать это, потому что в вашем существующем коде существует пара проблем.

  1. Заменить ненужный символ u' на '
  2. Заменить одинарные кавычки (') на строке json. Для json допускаются двойные кавычки (").

Так что просто найдите эти два символа и замените на '' и " соответственно.

<code><?php
$data = "{u'test_field2': u'NONE', u'test_field3': u'NONE', u'test_account': u'NONE', u'test_account_1': u'NONE'}";
$search = ["u'","'"];
$replace = ["'",'"'];
$without_u = str_replace($search,$replace,$data);
$array  = json_decode($without_u, true);
print '<pre>';
print_r($array);
print '
'; ?>

DEMO: https://eval.in/1032316

0 голосов
/ 05 июля 2018

Так как ваши данные недействительны json, из-за этого u в этом есть решение

 json_decode(str_replace("'",'"',str_replace("u'","'",$data)), true);

Должен сделать трюк

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