Java 上传内容JSON会给出空内容
我正在获取联系人并将其放入JSONArray,以便将所有联系人上传到服务器。当我提取它们时,我正在创建一个Java 上传内容JSON会给出空内容,java,android,json,upload,contacts,Java,Android,Json,Upload,Contacts,我正在获取联系人并将其放入JSONArray,以便将所有联系人上传到服务器。当我提取它们时,我正在创建一个Log.I()并正确显示触点。但当我在JSON数组中放置相同的值时,它表示为null 代码如下: public void phoneandname(Context c) { if (cc.isOnline(c) == true) { db = new Database(c); Cursor phones = c.getContentReso
Log.I()代码>并正确显示触点。但当我在JSON数组中放置相同的值时,它表示为null
代码如下:
public void phoneandname(Context c) {
if (cc.isOnline(c) == true) {
db = new Database(c);
Cursor phones = c.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
null, null, null);
JSONArray jarray = new JSONArray();
db.open();
while (phones.moveToNext()) {
String name = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
JSONObject json = new JSONObject();
try {
json.put("name", name);
json.put("phone", phoneNumber);
json.put("type", "insert");
jarray.put(json);
} catch (JSONException e) {
e.printStackTrace();
}
}
ArrayList<NameValuePair> nvp = new ArrayList<NameValuePair>();
DBupload upload = new DBupload();
DatosRegistro dr = new DatosRegistro(c);
nvp.add(new BasicNameValuePair("content", String.valueOf(jarray)));
nvp.add(new BasicNameValuePair("token", dr.hash_final(
dr.token_secret(dr.mail(), "mail"), jarray.toString())));
nvp.add(new BasicNameValuePair("id", String.valueOf(dr
.return_id_phone())));
JSONObject json2 = upload.UploaData(nvp,
"http://anonyme.mariomontes.es/contacts/insert");
try {
if (json2.getInt("error") == 1) {
} else {
db.contact_table(name, phoneNumber);
}
} catch (JSONException e) {
e.printStackTrace();
}
db.close();
Log.i("********", jarray.toString());
phones.close();
}
}
public void phoneandname(上下文c){
如果(cc.isOnline(c)==true){
db=新数据库(c);
Cursor=c.getContentResolver().query(
ContactsContract.CommonDataTypes.Phone.CONTENT\u URI,null,
空,空,空);
JSONArray jarray=新的JSONArray();
db.open();
while(phones.moveToNext()){
字符串名称=电话
.getString(电话)
.getColumnIndex(ContactsContract.CommonDataTypes.Phone.DISPLAY_NAME));
字符串phoneNumber=电话
.getString(电话)
.getColumnIndex(ContactsContract.CommonDataTypes.Phone.NUMBER));
JSONObject json=新的JSONObject();
试一试{
json.put(“name”,name);
json.put(“phone”,phoneNumber);
put(“type”,“insert”);
jarray.put(json);
}捕获(JSONException e){
e、 printStackTrace();
}
}
ArrayList nvp=新的ArrayList();
DBupload upload=新建DBupload();
DatosRegistro dr=新的DatosRegistro(c);
添加(新的BasicNameValuePair(“content”,String.valueOf(jarray)));
nvp.add(新的BasicNameValuePair(“令牌”),dr.hash_final(
dr.token_secret(dr.mail(),“mail”),jarray.toString());
nvp.add(新的BasicNameValuePair(“id”),String.valueOf(dr
.return_id_phone());
JSONObject json2=upload.UploaData(nvp,
"http://anonyme.mariomontes.es/contacts/insert");
试一试{
if(json2.getInt(“错误”)==1){
}否则{
db.联系人表(姓名、电话号码);
}
}捕获(JSONException e){
e、 printStackTrace();
}
db.close();
Log.i(“*******”,jarray.toString());
电话。关闭();
}
}
如你所见。我正在显示值,然后上传到服务器。但是它说内容(数组)是空的,我不知道。你上传jobject。那是什么?你从来没有填充过它。对不起!请再看一遍!:)