请问 obj.put("count", count); 当要传如数组的时候,应该怎么写呢?
麻烦会的朋友回复下,谢谢啦
public class AboutActivity extends Activity {
。。。。。
private int count[] = new int[3];
count[0] =1;
count [1]=2;
count [2]=3;
httpapi.update (string, count);
。。。
}
public class HttpApi {
。。。。。
public boolean update(String access_token, int count[] ) {
try {
String target = "http://nihao.ywen.com/api.php";
HttpClient httpclient = new DefaultHttpClient();
HttpPost request = new HttpPost(target );
JSONObject obj= new JSONObject();
obj.put("action", "update");
obj.put("access_token", access_token);
if( count != null){
obj.put("count", count); // 程序要调用 连接服务器接口,但是count 是一个数组,但是就这样 count 传进去的只是数组的地址,而是要当打印这个的时候 Log.d(TAG,": obj.toString()" +obj.toString()); 会显示 "count":["1","2","3"]
}
request.setEntity(new StringEntity(obj.toString(),"utf-8"));
//obj.toString()
Log.d(TAG,": obj.toString()" +obj.toString());
HttpResponse response;
response = httpclient.execute(request);
int code = response.getStatusLine().getStatusCode();
if( code==200) {
String rev =EntityUtils.toString(response.getEntity()); //id
JSONObject obj1= new JSONObject(rev);
get_errcode = obj1.getInt("errcode");
get_errmsg = obj1.getString("errmsg");
Log.d(TAG,"yong: register():get_errcode="+get_errcode);
Log.d(TAG,"yong: register():get_errmsg="+get_errmsg);
}
}
}
------解决思路----------------------
for(int i = 0 ; i < count.length ; i ++){
obj.put("count"+i, count[i]);
}
------解决思路----------------------
JSONArray 试过了么?
------解决思路----------------------
try {
JSONObject object = new JSONObject(JSON);
String action = (String) object.get("action");
int count1 = (Integer) object.get("count1");
int count12 = (Integer) object.get("count12");
String access_token = (String) object.get("access_token");
Log.e("JSON", action+"---"+count1+"---"+count12+"---"+access_token);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
------解决思路----------------------
转成接送对象在传过去
JSONArray jsonArray = JSONArray.fromObject(count);
------解决思路----------------------
你没有导入gson的官方jar包吧,提示没有这个方法.
------解决思路----------------------
try {
JSONObject object = new JSONObject(JSON);
String action = (String) object.get("action");
int count1 = (Integer) object.get("count1");
int count12 = (Integer) object.get("count12");
String access_token = (String) object.get("access_token");
Log.e("JSON", action+"---"+count1+"---"+count12+"---"+access_token);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
@ jiang920627 谢谢您的回复,但是你回复的不太对哦
我的意思是
obj.put("count", count); 当 count 为数组的时候,应该怎么写呢
try {
JSONObject jsonObject = new JSONObject(json);
JSONArray jsonArray = jsonObject.getJSONArray("count");
for (int i = 0; i < jsonArray.length(); i++) {
Log.e("json", jsonArray.get(i)+"");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
------解决思路----------------------
try {
JSONObject object = new JSONObject(JSON);
String action = (String) object.get("action");
int count1 = (Integer) object.get("count1");
int count12 = (Integer) object.get("count12");
String access_token = (String) object.get("access_token");
Log.e("JSON", action+"---"+count1+"---"+count12+"---"+access_token);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
@ jiang920627 谢谢您的回复,但是你回复的不太对哦
我的意思是
obj.put("count", count); 当 count 为数组的时候,应该怎么写呢
你是解析json ? 还是要生成json ?
------解决思路----------------------
可以试试
Gson
简单而且效率更高