如何根据json对象数组的value获取对应的key

如何根据json对象数组的value获取对应的key,第1张

使用for语句对jsonArray遍历

<html>

<body>

<script type="text/javascript">

var jsonArray = [{"name":"宗2瓜","num":"1","price":"122"}];

// 遍历json数组

for (var obj in jsonArray ){

  // 将json对象转换为字符串

  var str = JSONstringify(jsonArray[obj]);

  // 将json字符串转换为map

  var map = eval("("+str+")");

  // 遍历Map

  for (var key in map){

    var value = map[key];

    if (value == '宗2瓜') {

     alert('宗2瓜 => key['+key+']' );

    }

    

  }

}

</script>

</body>

</html>

hm已是一个HashMap的引用

如果你知道当前的这个key,可以通过hmget(key)方法来获得value

获得key的方法hmkeySet();因为你不知道key是哪个其实该方法就是获得一个key的集合

具体可以结合以下例子看看,里面有个迭代器用于遍历的

Set s=hmkeySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面

Iterator it=siterator();//获得一个迭代器引用it,通过siterator方法好比使“指针”指向

//set里面的第一个元素的位置

while(ithasNext())//set里面如果有下一个

{

Integer key=itnext();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个

Systemoutprintln(hmget(key));//利用hmget(key)方法获得该key对应的value

}

Set keySet = mapkeySet();//获取map的key值的集合,set集合 for(Object obj:keySet){//遍历key Systemoutprintln("key:"+obj+",Value:"+mapget(obj));//输出键与值 }

var obj = {"id": 1, "name":"张三"};

for(var key in obj)

{

alert("Key是:" + key);

alert("对应的值是:" + obj[key]);

}

Js遍历json对象所有key及根据动态key获取值:

Js代码

<script type="text/javascript">

getJson('age');

function getJson(key){

var jsonObj={"name":"傅红雪","age":"24","profession":"刺客"};

//1、使用eval方法    

var eValue=eval('jsonObj'+key);

alert(eValue);

//2、遍历Json串获取其属性

for(var item in jsonObj){

if(item==key){  //item 表示Json串中的属性,如'name'

var jValue=jsonObj[item];//key所对应的value

alert(jValue);

}

}

//3、直接获取

alert(jsonObj[''+key+'']);

}

</script>

通过上边三种方法就可以取到json中key对应的值。

以上就是关于如何根据json对象数组的value获取对应的key全部的内容,包括:如何根据json对象数组的value获取对应的key、根据map的key值获取value值 有多个key怎么获取多个value值、如何从map对象中取出key相同的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9816662.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存