2011-11-02 3 views
0

httppost를 통해 이러한 매개 변수를 보내야합니다. 내 안드로이드 애플 리케이션에서 drupal 서버에 이르기까지. HTTPPost를 통해 배열을 보내는 방법

내가 NameValuePair의를 사용하고 과거에 PHP를 표현

$data = array(
       'node' => array(
           'type' => 'celapp_order', 
           'title' => 'order celeb: nixon-fan '.date("j.m.Y H:i:s"), 
           'field_fan_uid' => array(0 => array('uid' => 4)), 
           'field_celeb_uid' => array(0 => array('uid' => 5)), 
           'field_celeb_price' => array(0 => array('value' => 0.79)) 
       ) 
   ); 

입니다. namevaluepairs를 사용하여 매개 변수를 보내는 방법을 알아낼 수 없습니다.

$postable = json_encode($data); // in PHP, there's equivalents for Java out there. 

즉, (기본적으로 자바 스크립트) 일반 텍스트로 배열을 변환 할 수 있습니다 POST를 통해 전송하기 쉬운 : 아무도 내가 매우 greatful 될 것입니다 도움이 될 수있는 경우

+0

배열은 PHP 구문에 나타낸다. 자바에서 어떻게 표현됩니까? 해시 테이블? 해시 맵? 다른 것? 안드로이드에서 다른 서버 또는 다른 서버로 보내십니까? –

+0

미안하지만 나는 그렇게 분명하지 않았습니다. 안드로이드에서 drupal 서버로 보내고 있습니다. 그것은 자바로 표현되지 않았다. 배열을 채우는 데 필요한 많은 문자열이 Httppost를 통해 전송됩니다. – jiduvah

+0

Marc B가 답을 넣었으므로 json 인코딩을 사용하여 이와 같은 데이터 구조를 전달해야합니다. –

답변

1

는 JSON 래퍼를 사용합니다. 수신단은 json_decode() (또는 그 특정 플랫폼에 상응하는 것이 무엇이든)을 사용하여 JSON 버전을 원시 배열/객체로 다시 변환합니다.

+0

죄송합니다. 내 질문이 명확하지 않아 업데이트했습니다. – jiduvah

0

저는 GSON을 사용하여 JSON ro 및 일반 오래된 Java 객체 (POJO)를 직렬화/비 직렬화하는 데 좋은 결과를 얻었습니다. 배열 예제에 대한 링크 here.

예컨대 :

public class Foo { 

    private string Bar; 
    private int Num; 
} 

Foo[] foos = new Foo[] ... // create array here 

Gson gson = new Gson(); 
String text = gson.toJson(foos); 

/* 
output: 

[ 
    { 
    "Bar" : "Hello", 
    "Num" : 25 
    }, 
    { 
    "Bar" : "World", 
    "Num" : 42, 
    } 
] 

*/ 
관련 문제