在php中解析JSONObject arrayList

时间:2013-04-09 12:44:12

标签: php android json

我是JSON的新手。 KIndly帮我解决了从android发送的php中的JSON解析。

我有一个A级,有会员phoneNumber和名字。我有一个arrayList对象 A

    private ArrayList<A> contactList = new ArrayList<A>();
    contactList.add(a1);
    contactList.add(a2); [objects of A]

现在我正在尝试使用JSON将此arrayList发送到php服务器。

JSONObject json = new JSONObject();
json.put("contactList", contactList);
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("");
StringEntity se = new StringEntity("JSON: " + json.toString());
post.setEntity(se);
HttpResponse resP = client.execute(post);

请让我知道如何在php服务器端解析它以获取phoneNumber和每个对象的名称 A

我试图在php服务器端创建一个相同的类 A 并尝试这种方式。

<?php
    $contactList = array();
    if(isset($_POST["contactList"])) {
        $contactList = json_decode($_POST["contactList"]);
        include_once './eachContactClass.php';
        foreach ($contactList->contactList as $eachContact) {
            $eachObj = new eachContactClass();
            $eachObj = $eachContact;
            $name = $eachObj->getName();
            $phoneNumber = $eachObj->getPhone();

        }
    }

请告诉我方法是否正确,或者请帮我纠正

1 个答案:

答案 0 :(得分:0)

首先,我建议您使用库来处理JSON序列化/反序列化。 GSON适合您的工作。

然后,您应该在将结果发送到任何远程服务器之前检查结果JSON的有效性。

要在PHP中解析它,请使用json_decode()函数返回表示JSON的对象。如果您愿意,也可以获取哈希值,只需查看文档。

我认为您的问题是您的JSON无效,因为JSONObject未正确序列化您的ArrayList。你应该检查一下。