js 处理json json是key与value的模式key是动态取到的,现有键值对stuno ,001 json对象为a,我取到了key值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 处理json json是key与value的模式key是动态取到的,现有键值对stuno ,001 json对象为a,我取到了key值相关的知识,希望对你有一定的参考价值。
也就是 stuno将该值赋值给变量 key1 问 为什吗a.key1取不到 001 而 a.stuno却可以 有什么办法将或者是写法用a.key1也可以得到001?谢谢!
var str = '"stuno":"0"';eval('var json = ' + str);
// var json = eval('('+str+')');
alert(json.stuno);//直接取值 结果0
for(var name in json)
alert(name );//name 结果 stuno
alert(json[name]);//value 结果 0 和上面直接去是一样的
或者你的要求:
var key = 'stuno';
alert(json[key]);//结果 0 和上面也一样
要采纳哦~ 参考技术A astuno:001,stuno1:002
然后你啥意思?
key1 = a.stuno?追问
不是 我取到了 "stuno" 将其赋值给了 key1现在 a.stuno 能得到001 但是 a.key1确得不到
追答你怎么赋值的?
追问json 的 对象我能取到 只不过 key和 value 都是动态的 key我通过其他的途径取到的,然后赋给其他变量也就是key1 现在 我无法通过key1 取到value值
追答我晕~~ 你意思,你让stuno = key1 ,然后用a.key1 去取值吗?
追问是啊 是啊
追答我擦~, 那累死你,你也取不到这个值....json的取值方法就是要用 obj.key 那个key 组成json之后就固定了....你给赋值啥的没效果....
追问谢谢你,好吧,那请问有什么方法 能够取到json中的 key值呢 貌似我只能得到value值啊?
json对象排序把key中的value值排序
json是这样的["name":"zhangsan","age":"15","name":"lisi","age":"12","name":"wangwu","age":"18"]
把key值 age中的value 降序
服务器JAVA做
追答我这个作法需要依赖外来包 jackson,用来解析json的,这样最稳定,效果最好,如下:
List> list = new ObjectMapper().readValue(jsonStr, List.class);
List ageList = new ArrayList();
for (Map map : list)
ageList.add(Integer.parseInt((String)map.get("age")));
Collections.sort(ageList);
Collections.reverse(ageList);
// ageList就是已经排序好的年龄了,如果有其他需要,你也可以在上面加东西
如果是arraylist 我该怎么排序呢, ??? 还是 name age
追答没明白你的追问是什么意思,直接性的排序都可以用Collections.sort完成
追问arraylist a = new arraylist();
这里的封装的key和value,我怎么按age的值排序。
哦,你是已经对象化了啊,这个更简单了
Collections.sort(list, new Comparator()
public int compare(User o1, User o2)
return o2.getAge()>o1.getAge();
);
那个值是Double的可以排吗?? 方便把你QQ给我吗?? 谢谢
追答Double的也行,数字型的都可以直接用 > 比较
你可以用百度Hi我……
double 的不能做比较啊转成int会损失精度的, 只有int能, 大哥我百度hi你了, 你没反应啊, 帮帮我 谢谢啦 、
追答double不要转int啊,double就按double来处理就行,回你了
本回答被提问者采纳以上是关于js 处理json json是key与value的模式key是动态取到的,现有键值对stuno ,001 json对象为a,我取到了key值的主要内容,如果未能解决你的问题,请参考以下文章