如何获取jsonarray中 某个值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取jsonarray中 某个值相关的知识,希望对你有一定的参考价值。
1、创建一个jsonArray对象。里面包含重复的内容,如图。
2、然后创建一个set集合,因为set集合中的元素不重复具有去重的效果。
3、通过循环把jsonArray对象中的元素都添加到set集合且先输出元对象的内容来看效果。
4、把jsonArray添加到set集合后,从上一步可以看出是3条记录,这里把set集合的长度输出看下它的大小可以发现变小了。
5、再把set集合转成字符串再转换成jsonArray对象。
6、重新使用for循环把新赋值的jsonArray对象值输出就完成了。
try
JSONArray array = new JSONArray(data);//将json字符串转成json数组
for (int i = 0; i < array.length(); i++) //循环json数组
JSONObject ob = (JSONObject) array.get(i);//得到json对象
String name= ob.getString("name");//name这里是列名称,获取json对象中列名为name的值
System.out.print(name);//输出name
catch (JSONException e)
本回答被提问者采纳
如何从 JsonArray 中获取 NSDictonarys?
【中文标题】如何从 JsonArray 中获取 NSDictonarys?【英文标题】:How to get a NSDictonarys out of JsonArray? 【发布时间】:2013-12-20 17:01:51 【问题描述】:我正在开发一个 iOS - 项目,它将显示一个人的关注者。 有一个正在运行的 Web 服务器从不同的社交网络获取数据,将它们与时间戳一起保存到 SQL 数据库中。 iOS App 发出请求并从 Sql 数据库中获取 Json。我将 Json 转换为 Array 并打印到控制台。
NSString *url = [NSString stringWithFormat:@"http://getdata.php"];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
NSError *error;
NSArray *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
NSLog(@"%@",json);
输出:
(
date = "2013-12-11";
facebook = 107;
instagram = 47;
twitter = 42;
,
date = "2013-12-12";
facebook = 107;
instagram = 45;
twitter = 42;
,
date = "2013-12-13";
facebook = 107;
instagram = 45;
twitter = 42;
)
所以我想做的是,将 Facebook、Instagram 和 Twitter 关注者与前一天进行比较。我怎么能这样做:获取整个对象,日期是今天。它会打印出来:
date = "2013-12-13";
facebook = 107;
instagram = 45;
twitter = 42;
感谢您的帮助,对不起我的英语!
【问题讨论】:
你试过简单地使用 NSDictionary 而不是 NSArray 吗? 你拥有的是一个 NSDictionary 对象的 NSArray。要获取 NSDictionary,请索引数组。 @nickAtStack - 这只会错误地命名对象并进一步混淆事物。 提示:查看 NSLog 列表——()
字符围绕着一个数组。
字符围绕着一个字典。
> "我将 Json 转换为数组" 不,你没有。您刚刚将 JSON 序列化为一个表示,它恰好是 Foundation 对象的层次结构,其根对象是 NSArray 或 NSDictionary。
【参考方案1】:
您可以使用一个简单的 for 循环来枚举数组中的所有字典。为了将每一天与前一天进行比较,您必须从索引 1 开始,如下所示:
for (NSUInteger i = 1; i < json.count; i++)
NSDictionary *currentDay = json[i];
NSDictionary *previousDay = json[i-1];
// Compare the follower counts for each social network here
【讨论】:
这是一个完美的想法,它的工作!但万一网络服务器没有更新这些值。它采用前一天的价值。有没有办法查到日期?如果 date = today 得到字典? @user3123470 是的,有,但这是一个不同的问题,因此应该作为一个单独的问题提出。 我该怎么做:获取整个对象,其中 Date 是今天。 这是我的问题的一部分,但如果你能回答第二个问题,那就太好了. 将每个字典中的NSString
转换为NSDate
并与当前日期进行比较。请记住,NSDate
包含日期和时间,因此您需要将 今天 的 NSDate
标准化为午夜。 NSDateComponents
和 NSCalendar
的组合将对此有所帮助。那么比较就是调用compare:
并寻找NSOrderedSame
。以上是关于如何获取jsonarray中 某个值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 phpunit 测试 JsonArray 中的随机值
Android Kotlin Volley 如何从 JSONArray 中获取价值