我有以下響應...從這個響應我解析bulkprice數組及其對象,現在我想要的是,我需要將所有minqty值存儲在一個arraylist中,並希望將所有這些值轉換爲整數。但我不能夠得到的..如何將所有json對象值存儲在arraylist中?
{"status":"success","clientproduct":[{"pid":"4","name":"kangan pair","unitprice":"1500","boxqty":"1","bulkprice":[{"minqty":"10","price":"1500"},{"minqty":"15","price":"1470"},{"minqty":"20","price":"1460"}]}]}
MainActivity.java
@Override
protected String doInBackground(String...args) {
//Check for success tag
//int success;
Looper.prepare();
try {
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("cid",letss));
params.add(new BasicNameValuePair("action", "clientproduct"));
System.out.println("????"+params);
Log.d("request!", "starting");
// getting product details by making HTTP request
JSONObject json = jsonParser.makeHttpRequest (
FEEDBACK_URL, "POST", params);
//check your log for json response
Log.d("Login attempt", json.toString());
if (json != null) {
try {
JSONObject jsonObj = new JSONObject(json.toString());
// Getting JSON Array node
clientproduct = jsonObj.getJSONArray(CLIENTPRODUCT_LIST);
// looping through All Contacts
for (int i = 0; i < clientproduct.length(); i++) {
ck = clientproduct.getJSONObject(i);
unitp=ck.getString("unitprice");
System.out.println("Unit ni price"+unitp);
boxq=ck.getString("boxqty");
System.out.println("Box ni quantity "+boxq);
bulkprice = ck.getJSONArray(BULKPRICE_LIST);
allqtys=new ArrayList<String>();
for (int b=0 ; b < bulkprice.length(); b++)
{
jo = bulkprice.getJSONObject(b);
minimum_qty=jo.getString("minqty");
allqtys.add(minimum_qty);
/* allqtys=new ArrayList<String>();
allqtys.add(minimum_qty.toString());
System.out.println("All MinQuantitiy"+minimum_qty);*/
System.out.println("All MinQuantitiy"+allqtys);
System.out.println("MinQuantitiy"+minimum_qty);
pricess=jo.getString("price");
System.out.println("Box price "+pricess);
}
/*conrs=Integer.parseInt(allqtys.toString());
System.out.println("Integer converted arrray"+conrs);*/
/* newList = new ArrayList<Integer>(allqtys.size()) ;
for (String myInt : allqtys)
{
newList.add(Integer.valueOf(myInt));
}
System.out.println("allqtys "+newList);*/
System.out.println("Not Null");
}
} catch (JSONException e) {
e.printStackTrace();
}
} else {
Log.e("ServiceHandler", "Couldn't get any data from the url");
}
return json.getString(FEEDBACK_SUCCESS);
}catch (JSONException e) {
e.printStackTrace();
}
return null;
}
// After completing background task Dismiss the progress dialog
protected void onPostExecute(String file_url) {
//dismiss the dialog once product deleted
pDialog.dismiss();
/* ArrayList<Integer> allval=new ArrayList<Integer>();
// allval.add(minimum_qty);
System.out.println("Integer converted arraylist"+allval);*/
autoproduct.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
// uprice.setText(unitp);
//bxqtyy.setText(boxq);
}
});
bxqtyy.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
if(Integer.parseInt(bxqtyy.getText().toString()) > allqtys)
{
if(bxqtyy.getText().equals(null))
{
uprice.setText(unitp);
}
uprice.setText("1470");
//System.out.println("lets check");
}
else
{
uprice.setText("1500");
System.out.println("lets check");
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
}}
logcat的
04-29 13:16:52.579: I/System.out(953): All MinQuantitiy[10]
04-29 13:16:52.609: I/System.out(953): MinQuantitiy10
04-29 13:16:52.639: I/System.out(953): Box price 1500
04-29 13:16:52.639: I/System.out(953): All MinQuantitiy[10, 15]
04-29 13:16:52.639: I/System.out(953): MinQuantitiy15
04-29 13:16:52.639: I/System.out(953): Box price 1470
04-29 13:16:52.679: I/System.out(953): All MinQuantitiy[10, 15, 20]
04-29 13:16:52.709: I/System.out(953): MinQuantitiy20
04-29 13:16:52.709: I/System.out(953): Box price 1460
如果JSONObject的正確返回剛剛INT minimum_qty = jo.getInt( 「minqty」); – M090009
@ M090009然後我需要將它存儲在arraylist .. – chris
@chris你需要在一個arraylist中的所有minqty? –