簡體   English   中英

我想在Java中構建一個通用的HttpPost函數,該函數將從數組中解析名稱/值對

[英]I want to build a generic HttpPost function in Java that will parse name value pairs from an array

我有一個從Web服務讀取JSON的功能:

public String readJSONFeed(String URL, String userName, String password){
...
    List<NameValuePair> params = new ArrayList<NameValuePair>(2);
    params.add(new BasicNameValuePair("userName", userName));
    params.add(new BasicNameValuePair("password", password));
...
}

我從AsyncTask調用它:

EditText userName = (EditText)findViewById(R.id.txtUserName);
EditText password = (EditText)findViewById(R.id.passWord);

return readJSONFeed("http://service.com/service.php", userName.getText().toString(), password.getText().toString());

我的問題是如何使readJsonFeed泛型並使它將數組解析為名稱值對。

您可以嘗試使用String ... params,然后使用params [0],params [1]等獲取值。這會使事情變得有些復雜,因為您需要param的名稱和值,但是可以將名稱,值,在將參數發送給方法時始終應這樣,並確保參數始終成對出現。

例如:

public String readJSONFeed(String ... params){

    if (params.lenght % 2 != 0) return null;

    List<NameValuePair> params = new ArrayList<NameValuePair>(params.lenght / 2);
    for (int i = 0; i < params.lenght - 1; i += 2) {
        params.add(new BasicNameValuePair(params[i], params[i + 1]));
}

//calling
readJSONFeed(name1, value1, name2, value2, name3, value3); etc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM