android没有将所有获取的手机联系人号码转换为json格式

时间:2015-01-08 10:54:06

标签: android json

我已从 Android phone 中提取了所有联系人号但未将所有phonenumbers转换为json格式。在某些*android phone*中,它正在运行但在我的手机中 Samsung Duos 它无效。  它给出了如下输出: -

{ “数据”:[{ “电话”: “+ 9187678965433”, “姓名”: “主页”},{ “电话”: “+ 9178961042”, “名称”: “Vikash(砰)”}, {“phone”:“+ 91826543748”,“name”:“Chandan(mota)”},{“phone”:“+ 91867868199”,“name”:“Amit Singh”},{“phone”:“+ 9143228811 “,”name“:”Jimmi Sinha“},{”phone“:”+ 91989769610“,”name“:”Nagar(Aone)“},{”phone“:”+ 919465436261“,”name“:”Shahi (Biet) “},{” 电话 “:” + 917576540555" , “名称”: “的Pankaj(Biet)”}, “姓名”:“p

我的一些代码如下: - 在它首先存储在bytearray之后,它准备了json格式。在将联系人转换为json格式时,json中断如上所示

我的一些代码如下: -

JSONArray postjson=new JSONArray();
          JSONObject json = null;
        Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
        String[] projection = new String[] {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
                        ContactsContract.CommonDataKinds.Phone.NUMBER};

        Cursor people =getContentResolver().query(uri, projection, null, null, null);

        int indexName = people.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
        int indexNumber = people.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);

        people.moveToFirst();
        do {
            String name   =people.getString(indexName);
            String number =people.getString(indexNumber);
            HashMap<String,Object> NamePhoneType = new HashMap<String,Object>();
            NamePhoneType.put("name",name);
            NamePhoneType.put("mobileno",number);
            //test email
    //        NamePhoneType.put("email","asad@test.com");
            //test email ends here
            Log.d("name+---+number",name+"----"+number);
//            userarraylist.add(NamePhoneType);
            json =  new JSONObject().put("contact_no",number.trim());
            postjson.put(json);

            json.put("name",name.trim());
            postjson.put(json);
        } while (people.moveToNext());
         Log.d("json data new query",postjson.toString().trim());
          people.close();

1 个答案:

答案 0 :(得分:1)

您的JSON是正确的。看起来你的logcat正在截断输出。这是由于最大长度为4 * 1024字节。

你可以增加它,但不建议适当的速度和可读的输出。

你得到的错误在哪里?看起来你有一个名为data的数组,它包含带有电话和名字的jsonobjects。

如果您无法修改AS中的logcat,请转到

文件 - &GT;设置 - &GT;编辑器 - &GT;颜色和字体 - &gt;控制台字体