2017-10-16 47 views
0

我正在從JSON數據發送到Web服務器。我有數組列表CURRENCY_RATE_LST,並且我想將它發送到服務器。 下面是我的代碼發生錯誤:org.json.JSONException:字符3輸入結束時當我發送JSON到WEB服務器

的Android代碼:

for(int i=0;i<currency_rate_lst.size();i++) 
    { 
     try 
     { 
      currency_rate_JSON .put(""+currency_code_lst.get(i), currency_rate_lst.get(i)); 
     } 
     catch (JSONException e) 
     { 
      e.printStackTrace(); 
      Log.e("JSON ENCODIG ERROR ",""+e.getMessage()); 
     } 
    } 

     final JSONObject JSON = new JSONObject(); 
     try 
     { 
      JSON.put("currency_rate_JSON", currency_rate_JSON); 
     } catch (JSONException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 

     AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() 
      { 
       String message="Nothing happend"; 
      @Override 
      protected String doInBackground(Void... params) 
       { 

       InputStream is=null; 
       String result=null; 
       ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(5); 
       nameValuePairs.add(new BasicNameValuePair("currency_rate_json",""+String.valueOf(JSON))); 
       ' 
       ' 
       . 
       } 

PHP代碼:

//Receive JSON 
$JSON_Received = $_POST["currency_rate_json"]; 
//Decode Json 
$obj = json_decode($JSON_Received, true); 
    foreach ($obj['currency_rate_JSON'] as $key => $value) 
    { 
     //echo "<br>------" . $key . " => " . $value; 

     $currency_rate=$value; 
     $currency_code=$key; 

    //$con=$GLOBALS['con']; 

    $sql2="UPDATE `pirzawbh_currency_exchange`.`latest_currency_rate_table` SET currency_rate = '$currency_rate' 
    WHERE `latest_currency_rate_table`.`currency_code` ='$currency_code';"; 

if (!mysql_query($sql2, $con)) 
{ 
//echo "\n =".mysql_error($con); 
    // echo"\n errro occured"; 

    } 
//else 
    //echo"\n Updated row id = ".$rowID." Successfuly";; 

} 
+0

夫婦在PHP方面的問題我看到。我不是一個機器人工程師,所以我不能說如果沒有你的輸出的例子,那邊是否構建了正確的json。 – IncredibleHat

+0

@Randall有什麼問題兄弟,你可以告訴我 –

+0

你可以添加'print_r($ _ POST);'到你的PHP的頂部調試後來發佈什麼? – IncredibleHat

回答

0

我找到了解決辦法我自己,只是改變這一行

nameValuePairs.add(new BasicNameValuePair("currency_rate_json",""+String.valueOf(JSON))); 

TO

nameValuePairs.add(new BasicNameValuePair("currency_rate_json",""+currency_rate_JSON.toString())); 
相關問題