2013-04-09 2 views
0

Я новичок в JSON. KIndly помогите мне с разбором JSON в php, отправленным с android.JSONObject arrayList разбор в php

У меня есть класс A, у которого есть номер телефона и имя. У меня есть arrayList объекта

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

Теперь я пытаюсь отправить этот ArrayList на сервер PHP с использованием JSON.

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 и попробовать этот способ.

<?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(); 

     } 
    } 

Пожалуйста, дайте мне знать, является ли подход является правильным, или любезно помочь мне исправить это

ответ

0

Прежде всего, я хотел бы предложить вам использовать библиотеку для обработки JSON сериализации/десериализации. GSON подходит для вашей работы.

Затем вы должны проверить результат JSON на достоверность перед отправкой на любой удаленный сервер.

Чтобы разобрать его на PHP, используйте функцию json_decode(), которая вернет объект, представляющий ваш JSON. Вы также можете получить хэш, если хотите, просто посмотрите в документе.

Я думаю, ваша проблема в том, что ваш JSON недействителен, так как JSONObject не правильно сериализует ваш ArrayList. Вероятно, вы должны это проверить.

Смежные вопросы