-1

「プリンシパル」とWiFiMACという2つの情報をjsonファイルから取得しようとしています。データベースにエクスポートする名前と MAC をエクスポートする必要があります。

{
"messages":
          {"message":"150 devices(s) returned."},
           "devices":
                   {"device":
            [
                    {"@id":"121","uuid":"xxx-xxx-xxxxxxxxx-xxx-x-xxxxx","principal":"John Rambo","blockReason":0,"clientId":"anything","compliance":0,"countryCode":49,"countryId":68,"countryName":"Germany","details":
                            [
                            {"entry":[
                                    {"key":"Model","value":"anything"},
                                    {"key":"AvailableDeviceCapacity","value":57.360877990722656},
{"key":"WiFiMAC","value":"123456789012"}]}]}]}}

およびより多くのキー。

次のようにプリンシパルを抽出できます。

$json = file_get_contents("test.xml");
$json = json_decode($json);
echo $json->messages->message;
echo $json->devices->device[1]->principal;

しかし、WiFiMAC を抽出する機会がありません。json のどのデバイスにもこれが必要です。foreach を使用してすべてのデバイスをロードできると思いますが、最初は WiFiMAC の抽出です。

4

1 に答える 1

0

要件を再現したら、以下のリンクにアクセスしてください: http://codepad.org/MhgkTloe

$ret = json_decode($json, true);
// the principal
echo $ret['devices']['device'][0]['principal'];
// This is the path to WiFiMac
echo $ret['devices']['device'][0]['details'][0]['entry'][2]['key'];
于 2012-06-14T11:04:38.467 に答える