在Android中计算json数组中的json对象?
我正在尝试将json值解析到我的Android应用程序中。在这里,我被困在一个地方,需要在json arraylist中设置对象长度 以下是我的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"
"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
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);