在Android中计算json数组中的json对象?

在Android中计算json数组中的json对象?,android,json,arrays,jsonobject,Android,Json,Arrays,Jsonobject,我正在尝试将json值解析到我的Android应用程序中。在这里,我被困在一个地方,需要在json arraylist中设置对象长度 以下是我的json: "events": { //json object "2012-11-30": [ // json array { "privacy": "OPEN", "name": "LOGDGE"

我正在尝试将json值解析到我的Android应用程序中。在这里,我被困在一个地方,需要在json arraylist中设置对象长度

以下是我的json:

    "events": { //json object
            "2012-11-30": [ // json array
                {
                    "privacy": "OPEN",
                    "name": "LOGDGE"   
                }
            ],
            "2013-08-17": [
                {
                    "privacy": "OPEN",
                    "name": "Party: Dinner and Dancing"
                }
            ],
            "2013-09-14": [
                {
                    "privacy": "OPEN",
                    "name": "Party: Dinner and Dancing"
                }
            ],
            "2013-09-27": [
                {
                    "privacy": "OPEN",
                    "name": "Salsa Party!"  
                }

            {
             "privacy": "OPEN",
                     "name": "Dance Performance Course",
            }       
            ],
            "2013-10-23": [
                {
                    "privacy": "OPEN",
                    "name": "Dance Performance Course"
                }
            ]
    }
现在我的问题是如何解析以获得json数组的长度,如:

  • 2012年11月30日计数=1
  • 2013-08-17计数=1
  • 2013-09-27计数=2
如何使用日期循环json数组,因为它们是json对象,并找到每个json数组日期的长度。我想在这里分别计算每个数组的数量。 我是否需要在json数组“dates”中添加一个键值类型的对,这样我就可以使用for循环来获取数组中的值的计数

提前感谢您

String json=“events”:{//json object
  String json =  "events": { //json object
        "2012-11-30": [ // json array
            {
                "privacy": "OPEN",
                "name": "LOGDGE"   
            }
        ],
        "2013-08-17": [
            {
                "privacy": "OPEN",
                "name": "Party: Dinner and Dancing"
            }
        ],
        "2013-09-14": [
            {
                "privacy": "OPEN",
                "name": "Party: Dinner and Dancing"
            }
        ],
        "2013-09-27": [
            {
                "privacy": "OPEN",
                "name": "Salsa Party!"  
            }

        {
         "privacy": "OPEN",
                 "name": "Dance Performance Course",
        }       
        ],
        "2013-10-23": [
            {
                "privacy": "OPEN",
                "name": "Dance Performance Course"
            }
        ]
}
       try {
                JSONObject  obj = new getJSONObject(new JSONObject("{"+"json"+"}").getJSONObject("events").toString());
                Iterator iterator = obj.keys();
          while (iterator.hasNext())
         {
          String key = (String) iterator.next();
          JSONArray array = obj.optJSONArray(key);
          if (array != null)
         {
        // the value for this key is an array
          for (int i = 0; i < array.length; i++){
          // do stuff
           }
         }
         }
          }
       catch (JSONException e)
            {
            // handle exception here
             }
“2012-11-30”:[//json数组 { “隐私”:“公开”, “名称”:“LOGDGE” } ], "2013-08-17": [ { “隐私”:“公开”, “姓名”:“聚会:晚餐和跳舞” } ], "2013-09-14": [ { “隐私”:“公开”, “姓名”:“聚会:晚餐和跳舞” } ], "2013-09-27": [ { “隐私”:“公开”, “姓名”:“萨尔萨派对!” } { “隐私”:“公开”, “名称”:“舞蹈表演课程”, } ], "2013-10-23": [ { “隐私”:“公开”, “名称”:“舞蹈表演课程” } ] } 试一试{ JSONObject obj=newgetjsonobject(newjsonobject(“{“+”json“+”}”).getJSONObject(“事件”).toString()); 迭代器迭代器=obj.keys(); while(iterator.hasNext()) { 字符串键=(字符串)迭代器。下一步(); JSONArray数组=obj.optJSONArray(key); if(数组!=null) { //此键的值是一个数组 for(int i=0;i
String json=“events”:{//json对象
“2012-11-30”:[//json数组
{
“隐私”:“公开”,
“名称”:“LOGDGE”
}
],
"2013-08-17": [
{
“隐私”:“公开”,
“姓名”:“聚会:晚餐和跳舞”
}
],
"2013-09-14": [
{
“隐私”:“公开”,
“姓名”:“聚会:晚餐和跳舞”
}
],
"2013-09-27": [
{
“隐私”:“公开”,
“姓名”:“萨尔萨派对!”
}
{
“隐私”:“公开”,
“名称”:“舞蹈表演课程”,
}       
],
"2013-10-23": [
{
“隐私”:“公开”,
“名称”:“舞蹈表演课程”
}
]
}
试一试{
JSONObject obj=newgetjsonobject(newjsonobject(“{“+”json“+”}”).getJSONObject(“事件”).toString());
迭代器迭代器=obj.keys();
while(iterator.hasNext())
{
字符串键=(字符串)迭代器。下一步();
JSONArray数组=obj.optJSONArray(key);
if(数组!=null)
{
//此键的值是一个数组
for(int i=0;i
您可以迭代JSONObject中的键,检查它们对应的值是否为JSONArray,然后将它们的长度存储在映射中:

Iterator iter = yourJSONObject.keys();
while (iter.hasNext())
{
    String key = (String) iter.next();
    JSONArray array = yourJSONObject.optJSONArray(key);
    if (array != null)
    {
        // the value for this key is an array
        for (int i = 0; i < array.length; i++){
            // do stuff
        }
    }
}
Iterator iter=yourJSONObject.keys();
while(iter.hasNext())
{
字符串键=(字符串)iter.next();
JSONArray数组=yourJSONObject.optJSONArray(key);
if(数组!=null)
{
//此键的值是一个数组
for(int i=0;i
您可以迭代JSONObject中的键,检查它们对应的值是否为JSONArray,然后将它们的长度存储在映射中:

Iterator iter = yourJSONObject.keys();
while (iter.hasNext())
{
    String key = (String) iter.next();
    JSONArray array = yourJSONObject.optJSONArray(key);
    if (array != null)
    {
        // the value for this key is an array
        for (int i = 0; i < array.length; i++){
            // do stuff
        }
    }
}
Iterator iter=yourJSONObject.keys();
while(iter.hasNext())
{
字符串键=(字符串)iter.next();
JSONArray数组=yourJSONObject.optJSONArray(key);
if(数组!=null)
{
//此键的值是一个数组
for(int i=0;i
String jstr=jso.getString(“事件”);
JSONObject mdcalkey=新的JSONObject(jstr);
迭代器iter=mdcalkey.keys();
ArrayList arr=新的ArrayList();
ArrayList arrTimeDate=新的ArrayList();
ArrayList arrtype=新的ArrayList();
while(iter.hasNext()){
arr.add((字符串)iter.next());
}
//ja=mdcalkey.getJSONArray(arr.get(0));
jar=新的JSONArray[arr.size()];
此arr数组将显示所有日期数组..请检查..如果有任何查询,请告诉我。

String jstr=jso.getString(“事件”);
JSONObject mdcalkey=新的JSONObject(jstr);
迭代器iter=mdcalkey.keys();
ArrayList arr=新的ArrayList();
ArrayList arrTimeDate=新的ArrayList();
ArrayList arrtype=新的ArrayList();
while(iter.hasNext()){
arr.add((字符串)iter.next());
}
//ja=mdcalkey.getJSONArray(arr.get(0));
jar=新的JSONArray[arr.size()];

此arr数组将显示所有日期数组..请检查..如果有任何查询,请告诉我。

尝试以下代码并使用JsonArray的长度计算对象:

Iterator<Object> keys = eventobject.keys();
while (keys.hasNext()) {
  String key = keys.next();
    try{
         JSONArray array = jObject.getJSONArray(key);
         //count objects values using array length.
    }
    catch(Exception e){
        e.printStackTrace()
    }
}
Iterator keys=eventobject.keys();
while(keys.hasNext()){
String key=keys.next();
试一试{
JSONArray数组=jObject.getJSONArray(key);