2012-04-12 73 views
0

cI'm使用此代碼到jsonarray上傳到服務器(也許有這樣做的更好的方法):如何處理jsonarray字符串上傳到php服務器?

  ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
      nameValuePairs.add(new BasicNameValuePair("json_a", json_a.toString())); 

      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
      HttpResponse response = httpclient.execute(httppost); 
      String responseText = EntityUtils.toString(response.getEntity()); 

我在logcat中得到的迴應是:

04-10 23:05:39.833: D/ProviderTester(601): The response text is POST = array (
04-10 23:05:39.833: D/ProviderTester(601): 'json_a' => '[name=Mike, datetime=2012-04-10 21:29]\\",\\"[name=Roger, datetime=2012-03-10 21:29]\\"]\\"]', 
04-10 23:05:39.833: D/ProviderTester(601):) 
04-10 23:05:39.833: D/ProviderTester(601): GET = array (
04-10 23:05:39.833: D/ProviderTester(601):) 
04-10 23:05:39.833: D/ProviderTester(601): request = array (
04-10 23:05:39.833: D/ProviderTester(601): 'Content-Length' => '174', 
04-10 23:05:39.833: D/ProviderTester(601): 'Content-Type' => 'application/x-www-form-urlencoded', 
04-10 23:05:39.833: D/ProviderTester(601): 'Host' => 'graasdfon.hostei.com', 
04-10 23:05:39.833: D/ProviderTester(601): 'Connection' => 'Keep-Alive', 
04-10 23:05:39.833: D/ProviderTester(601): 'User-Agent' => 'Apache-HttpClient/UNAVAILABLE (java 1.4)', 
04-10 23:05:39.833: D/ProviderTester(601): 'Expect' => '100-Continue', 
04-10 23:05:39.833: D/ProviderTester(601):) 
04-10 23:05:39.833: D/ProviderTester(601): 
04-10 23:05:39.833: D/ProviderTester(601): <!-- www.000webhost.com Analytics Code --> 

PHP腳本服務器端是這樣的:

<?php 

$out="POST = " . var_export($_POST, true) . "\n"; 
$out.="GET = " . var_export($_GET, true) . "\n"; 
$out.="request = " . var_export(getallheaders(), true) . "\n"; 
print $out; 

?> 

我看到 'json_a'=>「[NAME =麥克,日期時間= 2012-04-10 21:29] \ 「\」[名稱=羅傑,datetime = 2012-03-10 21:29] \「] \「]'包含我想要的數據,但是如何從對象中提取名稱和日期?

編輯: 的,當我打印出的logcat JSON對象,這是什麼樣子(而不是從服務器響應):

4-10 23:33:36.013: I/JSONInfo(601): JSON object: ["[name=mike, datetime=2012-04-10 23:33]","[name=red, datetime=2012-04-10 23:12]"] 

林不知道,如果[「[名稱=麥克風,日期時間= 2012-04-10 23點33]」,‘[名稱=紅色,日期時間= 2012-04-10 23:12]’]是一個正確的JSON對象它只是印刷成字符串

回答

1

如果陣列JSON是正確的,你可以使用json_decode()來獲取數據作爲數組或對象。事實上,它看起來並不像你發送的是有效的JSON。

+0

我不知道它是否以正確的JSON格式。我在做安卓/ Java中的JSONArray對象,然後把它inot一個字符串,並將其發送到一個PHP腳本的服務器並回我就差了。如果不合適,我不確定我應該改變什麼。 – Stagleton 2012-04-12 14:40:58

+0

嗯,mybe生病打造串自己在Android中,上傳,然後擔心makingit成JSON對象 – Stagleton 2012-04-12 14:46:05

+1

[{ 「Name」: 「邁克」, 「日期時間」: 「2012-04-10 21:29」}, {「名」:「羅傑」,「日期時間」:「2012-03-10 21:29」}] – Mikey 2012-04-12 14:47:07

相關問題