10
votes

Comment lire les propriétés JSON en utilisant php

Comment obtenir tout l'attribut PID et Styles des données JSON suivantes avec une boucle minimale dans PHP

{"general":{"note":{"display":false}},"elements":{"the-1":{"index":1,"src":"shirt1.png","pid":"pid-3563130","angle":0,"styles":"background:transparent;top:51.80000305175781px;left:122px;width:80px;height:80px;","background":"transparent","pos":{"top":51.80000305175781,"left":122},"size":{"width":80,"height":80},"details":{"other":""}},"the-2":{"index":2,"src":"shirt2.png","pid":"pid-132002","angle":0,"styles":"background:transparent;top:44.80000305175781px;left:155px;width:80px;height:80px;","background":"transparent","pos":{"top":44.80000305175781,"left":155},"size":{"width":80,"height":80},"details":{"other":""}}}}


3 commentaires

Ceci doit être un duplicata de quelque chose


Qu'avez-vous essayé? Qu'est ce que tu veux savoir exactement? Avez-vous des problèmes à analyser JSON? Ou avec accès à des tableaux? Ou avec itération sur un tableau?


Dupliqué possible de JSON Décode à PHP


4 Réponses :


2
votes

Utilisez la fonction JSON_DECODE dans PHP pour obtenir une matrice associative.

<?php
    $myJson = '{"general":{"note":{"display":false}},"elements":{"the-1":{"index":1,"src":"shirt1.png","pid":"pid-3563130","angle":0,"styles":"background:transparent;top:51.80000305175781px;left:122px;width:80px;height:80px;","background":"transparent","pos":{"top":51.80000305175781,"left":122},"size":{"width":80,"height":80},"details":{"other":""}},"the-2":{"index":2,"src":"shirt2.png","pid":"pid-132002","angle":0,"styles":"background:transparent;top:44.80000305175781px;left:155px;width:80px;height:80px;","background":"transparent","pos":{"top":44.80000305175781,"left":155},"size":{"width":80,"height":80},"details":{"other":""}}}}';  
    $myArray = json_decode($myJson,true);
    $myInnerArray = $myArray['elements'];
    $styles = array();
    foreach($myInnerArray as $element)
       $styles[] = $element['styles'];
    print_r($styles);

    ?>


0 commentaires

1
votes

php a de grandes capacités à gérer JSON.

Supposons que la chaîne JSON que vous avez affichée ci-dessus est stockée dans une variable PHP $ myjson code>. p>

donc nous pouvons stocker facilement un tableau associatif de ces valeurs dans $ myjsonarray code> comme: p> xxx pré>

donc, maintenant nous venons de boucler: p>

foreach( $myJSONArray['elements'] as $arr => $key )
     echo( "A PID: " . $key['pid'] . "\n" );


0 commentaires

16
votes
$str = '{"general":{"note":{"display":false}},"elements":{"the-1":{"index":1,"src":"shirt1.png","pid":"pid-3563130","angle":0,"styles":"background:transparent;top:51.80000305175781px;left:122px;width:80px;height:80px;","background":"transparent","pos":{"top":51.80000305175781,"left":122},"size":{"width":80,"height":80},"details":{"other":""}},"the-2":{"index":2,"src":"shirt2.png","pid":"pid-132002","angle":0,"styles":"background:transparent;top:44.80000305175781px;left:155px;width:80px;height:80px;","background":"transparent","pos":{"top":44.80000305175781,"left":155},"size":{"width":80,"height":80},"details":{"other":""}}}}';

$arr = json_decode($str, true);

foreach ($arr['elements'] as $element) {
    echo 'pid: ' . $element['pid'] . '<br />';
    echo 'styles: ' . $element['styles'] . '<br />';
}

0 commentaires

1
votes
$json = json_decode('{"general":{"note":{"display":false}},"elements":{"the-1":{"index":1,"src":"shirt1.png","pid":"pid-3563130","angle":0,"styles":"background:transparent;top:51.80000305175781px;left:122px;width:80px;height:80px;","background":"transparent","pos":{"top":51.80000305175781,"left":122},"size":{"width":80,"height":80},"details":{"other":""}},"the-2":{"index":2,"src":"shirt2.png","pid":"pid-132002","angle":0,"styles":"background:transparent;top:44.80000305175781px;left:155px;width:80px;height:80px;","background":"transparent","pos":{"top":44.80000305175781,"left":155},"size":{"width":80,"height":80},"details":{"other":""}}}}', true);
$elements = $json['elements'];
foreach($elements as $element){
    $pid = $element['pid'];
    $styles = $element['styles'];
    echo $pid.': '.$styles.'<br />';
}
Example here

0 commentaires