Javascript 如何访问Json中的给定元素

Javascript 如何访问Json中的给定元素,javascript,Javascript,我是Json新手。请告诉我如何访问以下元素。这是我的Json var data = {"student":[{"fname":"mad", "sname":"cha"}, {"fname":"sun", "sname":"ban"}, {"fname":"sha", "sname":"kiri"}]}; 因此,我如何访问“mad”值 实际上这就是我想做的 <html> <head> <title></title> <meta http-eq

我是Json新手。请告诉我如何访问以下元素。这是我的Json

var data = {"student":[{"fname":"mad", "sname":"cha"}, {"fname":"sun", "sname":"ban"}, {"fname":"sha", "sname":"kiri"}]};
因此,我如何访问
“mad”

实际上这就是我想做的

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<script>
    function click_me(){
        var data = {"student":[{"fname":"mad", "sname":"cha"}, {"fname":"sun", "sname":"ban"}, {"fname":"sha", "sname":"kiri"}]};
        localStorage.setItem('my_name',data);
        alert('OK');
    }

    function show_me(){
        var x = localStorage.getItem('my_name');
        x = x.student[0].fname;
        alert(x);
    }
</script>

</head>
<body>
  <input type="button" name="btn" value="Click" onclick="click_me()">
  <input type="button" name="btn" value="show_me" onclick="show_me()">
</body>
</html> 

函数click_me(){
变量数据={“学生”:[{“fname”:“mad”,“sname”:“cha”},{“fname”:“sun”,“sname”:“ban”},{“fname”:“sha”,“sname”:“kiri”}]};
setItem('my_name',data);
警报(“正常”);
}
函数show_me(){
var x=localStorage.getItem('my_name');
x=x.student[0].fname;
警报(x);
}
它是

顺便说一下,这不是JSON,而是一个普通的javascript对象。是一种基于字符串的交换格式


编辑后再进行编辑。

localStorage仅存储字符串。这就是为什么
getItem
会给您一个字符串,您在其中找不到“mad”

以下是您可以做的:

function click_me(){
    var data = {"student":[{"fname":"mad", "sname":"cha"}, {"fname":"sun", "sname":"ban"}, {"fname":"sha", "sname":"kiri"}]};
    localStorage.setItem('my_name', JSON.stringify(data));
    alert('OK');
}

function show_me(){
    var x = JSON.parse(localStorage.getItem('my_name')||"{}");
    x = x.student[0].fname; // it would be cleaner to test x.student exists
    alert(x);
}
它是

顺便说一下,这不是JSON,而是一个普通的javascript对象。是一种基于字符串的交换格式


编辑后再进行编辑。

localStorage仅存储字符串。这就是为什么
getItem
会给您一个字符串,您在其中找不到“mad”

以下是您可以做的:

function click_me(){
    var data = {"student":[{"fname":"mad", "sname":"cha"}, {"fname":"sun", "sname":"ban"}, {"fname":"sha", "sname":"kiri"}]};
    localStorage.setItem('my_name', JSON.stringify(data));
    alert('OK');
}

function show_me(){
    var x = JSON.parse(localStorage.getItem('my_name')||"{}");
    x = x.student[0].fname; // it would be cleaner to test x.student exists
    alert(x);
}

按如下方式访问该值:

var firstName = data.student[0].fname;

示例:

按如下方式访问值:

var firstName = data.student[0].fname;
示例:

您可以通过

  var yourValue = data.student[0].fname
你可以这样做

  var yourValue = data.student[0].fname

@戴斯特罗伊是对的。问题是本地存储。下面是一篇相关文章:使用localStorage存储json。但是您根本不需要使用本地存储。@dystroy是对的。问题是本地存储。下面是一篇相关文章:使用localStorage存储json。但您根本不需要使用本地存储。