Je suis en train de convertir la chaîne JSON dans un tableau en tableau,Conversion de json en tableau avec une méthode récursive?
$config = array(
"type" => '{"category":"admin","page":"page"}',
"say" => "Hello",
"php" => array(
"say" => "no",
"type" => '{"category":"admin","page":"page"}',
"gran" =>array(
"name" => "Hi"
)
)
);
Mon code de travail,
class objectify
{
public function json_to_array($array, $recursive = true)
{
# if $array is not an array, let's make it array with one value of former $array.
if (!is_array($array)) $array = array($array);
foreach($array as $key => $value)
{
if($recursive === false) $array[$key] = (!empty($value) && is_string($value) && json_decode($value) != NULL) ? json_decode($value, true): $value;
else $array[$key] = (!empty($value) && is_string($value) && json_decode($value) != NULL) ? json_decode($value, true): is_array($value) ? self::json_to_array($array) : $value;
}
return $array;
}
}
Il fonctionne très bien sansméthode récursive mais les pauses quand je veux faire le récursive comme vous pouvez le voir dans mon code ci-dessus,
$object = new objectify();
$config = $object->json_to_array($config);
print_r($config);
message d'erreur,
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2048 bytes) in C:\wamp\www\test\2012\php\set_variable.php on line 79
Je veux juste obtenir ce résultat,
Array
(
[type] => Array
(
[category] => admin
[page] => page
)
[say] => Hello
(
[say] => no
[type] => {"category":"admin","page":"page"}
[gran] => Array
(
[name] => Hi
)
)
)
EDIT:
$config = 'type={"category":"admin","page":"page"}&text_editor={"name":"mce-basic"}&parent_id=self&subtitle=true&description=true&content_1=true&script_1=true&primary_image=true';
parse_str($config,$array);
print_r($array);
résultat
,
Array
(
[type] => {"category":"admin","page":"page"}
[text_editor] => {"name":"mce-basic"}
[parent_id] => self
[subtitle] => true
[description] => true
[content_1] => true
[script_1] => true
[primary_image] => true
)
Puis-je demander à exactement pourquoi vous avez partiellement (et seulement partiellement) analysables JSON dans votre Structure de données? –
Comment avez-vous obtenu un tableau de chaînes JSON en premier lieu? On dirait que ceux-ci devraient apparaître sous la forme d'un tableau JSON que vous pourriez simplement décoder tout à la fois. –
Avez-vous besoin d'aide pour résoudre le problème de mémoire? –