Десериализовать реально экранированную строку JSON - PullRequest
0 голосов
/ 07 февраля 2012

Я пытаюсь сохранить данные JSON в MySQL DB & PHP. Я использовал

// This is the JSON (from Twitter).
$result = 
Array
(
    [created_at] => Wed, 01 Feb 2012 03:53:25 +0000
    [entities] => Array
        (
            [hashtags] => Array
                (
                    [0] => Array
                        (
                            [text] => somehashtag
                            [indices] => Array
                                (
                                    [0] => 85
                                    [1] => 98
                                )

                        )

                )

$stringForDB = mysql_real_escape_string(serialize($result));

для сериализации.

Я не могу снять сериализацию.

Я пробовал

$obj=unserialize($stringForDB);

но $ obj пусто.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2012

mysql_real_escape_string добавит обратную косую черту к 'и', что сделает невозможным десериализацию.

$serializedResult = serialize($result);

// $stringForDB can not be unserialized since it has extra backslashes
$stringForDB = mysql_real_escape_string($serializedResult));

// Some code to insert $stringForDB into the database

$obj=unserialize($serializedResult);
0 голосов
/ 07 февраля 2012

Попробуйте

$obj=json_decode($stringForDB);

http://php.net/manual/en/function.json-decode.php

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