0

顧客 (名前を持つ) が多くの電話番号を持っている、より複雑な JSON 配列を作成して、PHP で解析できるようにしたいのですが、あなたの助けが必要です。

すなわち:

public Class ContactVO
{
    public String diplayname;
    public ArrayList<PhoneVO> phonenumbers = new ArrayList<PhoneVO>();
}


public Class PhoneVO
{
    public String number;
}

上記の 1:N 構造を JSON 配列として作成する方法と、それを PHP 経由で解析する方法の例を教えてください。

すべてを ArrayList に入れ、GSON ライブラリを May プロジェクトに追加しました。

結果は次のとおりです。

[
  {"contact_id":"1","displayname":"Bjyyyyy","phonenumbers":[{"number":"066-6228"}]},  
  {"contact_id":"2","displayname":"Rainer Unsinn","phonenumbers":[{"number":"(066) 214-52"}]},
  {"contact_id":"3","displayname":"Dieter karpenstein","phonenumbers":[{"number":"06621716669"}]},
  {"contact_id":"4","displayname":"Sido","phonenumbers":[{"number":"(085) 011-1555"}]},
  {"contact_id":"5","displayname":"Jochen Müller","phonenumbers":[{"number":"01773313261"}]}
]

受信した PHP ファイルは、それを解析するためにどのように見えるべきですか?

4

1 に答える 1

3

json_decode関数を探しているだけですか?

$fromPost = $_POST['contact'];
$object = json_decode($fromPost, true); // Read the doc to decide whether you want the "true" or not
var_dump($object);

編集: あなたはそのようなものを持つことができます(テストされていません)

$string = '[
  {"contact_id":"1","displayname":"Bjyyyyy","phonenumbers":[{"number":"066-6228"}]},  
  {"contact_id":"2","displayname":"Rainer Unsinn","phonenumbers":[{"number":"(066) 214-52"}]},
  {"contact_id":"3","displayname":"Dieter karpenstein","phonenumbers":[{"number":"06621716669"}]},
  {"contact_id":"4","displayname":"Sido","phonenumbers":[{"number":"(085) 011-1555"}]},
  {"contact_id":"5","displayname":"Jochen Müller","phonenumbers":[{"number":"01773313261"}]}
]';

$decoded = json_decode($string);

foreach($decoded as $person) {
        echo $person['displayname'] . "\n";
        foreach($person['phonenumbers'] as $phone) {
                echo $phone['number'] . "\n";
        }
}
于 2012-07-29T21:29:15.480 に答える