在android中为调用日志创建json数据

在android中为调用日志创建json数据,android,json,Android,Json,我想为我的通话记录详细信息创建一个json格式,如下所示,并将其发送到android中的服务器: {“调用日志”:{ “日志数据”:[ { “id”:“9791”, “编号”:“+919122185954”, “持续时间”:“0”, “类型”:“3”, “日期”:“1425887846182”, “名称”:“ww”} , { “id”:“9790”, “编号”:“+9171222277”, “持续时间”:“32”, “类型”:“1”, “日期”:“1425880324221”, “名称”:“Dp

我想为我的通话记录详细信息创建一个json格式,如下所示,并将其发送到android中的服务器:

{“调用日志”:{

“日志数据”:[

{ “id”:“9791”, “编号”:“+919122185954”, “持续时间”:“0”, “类型”:“3”, “日期”:“1425887846182”, “名称”:“ww”} , {

“id”:“9790”, “编号”:“+9171222277”, “持续时间”:“32”, “类型”:“1”, “日期”:“1425880324221”, “名称”:“Dpika”} : : : :

]}}

但是,当我使用下面的代码获取json格式的所有呼叫日志详细信息并将其发送到服务器时,我收到了一个非常不寻常的错误,比如当我发送30个联系人时,它工作正常,但当我获取的信息超过此值时,我收到了一个错误

代码:

public void GetCallLogs()
  {
        JSONObject main= new JSONObject();
        JSONObject calllogs = new JSONObject();
        JSONArray logs = new JSONArray();
      Cursor cur = getContentResolver().query(Uri.parse("content://call_log/calls"),null, null, null, "_ID DESC");

        cur.moveToFirst();

        int nameColumn = cur.getColumnIndex(CallLog.Calls.CACHED_NAME);
        int numberColumn = cur.getColumnIndex(CallLog.Calls.NUMBER);
        int dateColumn = cur.getColumnIndex(CallLog.Calls.DATE);
        int duretion = cur.getColumnIndex(CallLog.Calls.DURATION);
        int type = cur.getColumnIndex(CallLog.Calls.TYPE);
        int id = cur.getColumnIndex(CallLog.Calls._ID);

        int i=0;

        JSONObject studenti = new JSONObject();
        while (!cur.isAfterLast() && i < 50) {

            String name = cur.getString(nameColumn);
            String number = cur.getString(numberColumn);
            String date = cur.getString(dateColumn);
            String duration = cur.getString(duretion);
            String types = cur.getString(type);
            String ids = cur.getString(id);



            try {
                studenti.put("id", ids);
                studenti.put("name",name);
                studenti.put("date", date);
                studenti.put("duration", duration);
                studenti.put("types", types);
                studenti.put("number", number);

                Log.d("HERE IN FETCHCALL", "name"+name);


            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }




            logs.put(studenti);


            studenti = new JSONObject();



            cur.moveToNext();
        i++;
        }

        try {
            calllogs.put("logdata", logs);
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


      try {
        main.put("Calllogs", calllogs);
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


  }
public void GetCallLogs()
{
JSONObject main=新的JSONObject();
JSONObject calllogs=新的JSONObject();
JSONArray日志=新的JSONArray();
游标cur=getContentResolver().query(Uri.parse(“content://call_log/calls“”,null,null,null,“_iddesc”);
cur.moveToFirst();
int nameColumn=cur.getColumnIndex(CallLog.Calls.CACHED_NAME);
int numberColumn=cur.getColumnIndex(CallLog.Calls.NUMBER);
int dateColumn=cur.getColumnIndex(CallLog.Calls.DATE);
int duretion=cur.getColumnIndex(CallLog.Calls.DURATION);
int type=cur.getColumnIndex(CallLog.Calls.type);
int id=cur.getColumnIndex(CallLog.Calls.\u id);
int i=0;
JSONObject studenti=新的JSONObject();
而(!cur.isAfterLast()&&i<50){
字符串名称=cur.getString(nameColumn);
字符串编号=cur.getString(numberColumn);
字符串日期=cur.getString(dateColumn);
字符串持续时间=cur.getString(持续时间);
字符串类型=cur.getString(类型);
String id=cur.getString(id);
试一试{
学生输入(“id”,id);
学生输入(“姓名”);
学生输入(“日期”,日期);
学生投入(“持续时间”,持续时间);
学生投入(“类型”,类型);
学生输入(“数字”,数字);
Log.d(“此处为FETCHCALL”,“name”+name);
}捕获(JSONException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
日志。put(studenti);
studenti=新的JSONObject();
cur.moveToNext();
i++;
}
试一试{
calllogs.put(“logdata”,logs);
}捕获(JSONException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
试一试{
main.put(“调用日志”,调用日志);
}捕获(JSONException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}

由于您没有提供足够的信息,我必须假设您希望使用以下代码创建JSON文件:

名称
数
日期
期间
类型
ids


我已经用它为我的
ListView

创建了
JSON
文件,首先更新你的帖子并描述问题。现在您只添加了代码,没有其他内容了