0

我想创建一个更复杂的 JSON 数组,其中客户(有名字)有很多电话号码,以便我可以用 PHP 解析它,我需要你的帮助。

IE:

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 库添加到了可能的项目中。

结果是:

[
  {"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 回答