1

私は最初のパブリック API を構築しようとしていますが、これはかなりうまくいっていますが、POST されるさまざまなデータ形式を変換する際に問題が発生しました。基本的に、API は JSON と XML の両方を受け入れる必要があります。現在、それらを共通の PHP 配列構造に変換しようとしています。

JSON の場合、私の例は次のようになります。

$people = array( array('name' => 'casper',
                       'shoesize' => 41
                 ),
                 array('name' => 'christine',
                       'shoesize' => 37
                 )
);

$data = json_encode($people);
return json_decode($data);

これにより、次のようになります。

[{"name":"casper","shoesize":"41"},{"name":"charlotte","activated":"1"}]

XML の例は次のとおりです。

$xml = '<?xml version="1.0"?>'.
       '<people>'.
           '<person>'.
               '<name>casper</name>'.
               '<shoesize>41</shoesize>'.
           '</person>'.
           '<person>'.
               '<name>christine</name>'.
               '<shoesize>37</name>'.
           '</person>'.
       '</people>';

$xml = simplexml_load_string($xml);
$data = json_encode($xml);
return json_decode($data);

これにより、次のようになります。

{"person":[{"name":"casper","shoesize":"42"},{"name":"christina","shoesize":"12"}]}

両方の例で同じ配列構造を実現する方法を誰でも理解できますか?

4

1 に答える 1