Javascript 如何使用jquery解析json字符串

Javascript 如何使用jquery解析json字符串,javascript,jquery,json,jsonpath,Javascript,Jquery,Json,Jsonpath,我正在尝试使用jquery解析json字符串。没有任何价值 var jsonString = '{"data":{"2G":[{"amount":"9","detail":"35 MB 2G Data , Post 35 MB you will be charged at 4p\/10kb","validity":"1 Day","talktime":"0"},{"amount":"16","detail":"90 MB 2G Data, Post 90 MB you will be charg

我正在尝试使用jquery解析json字符串。没有任何价值

var jsonString = '{"data":{"2G":[{"amount":"9","detail":"35 MB 2G Data , Post 35 MB you will be charged at 4p\/10kb","validity":"1 Day","talktime":"0"},{"amount":"16","detail":"90 MB 2G Data, Post 90 MB you will be charged at 4p\/10kb","validity":"2 Days","talktime":"0"},{"amount":"28","detail":"160 MB 2G Data, Post 160 MB you will be charged at 4p\/10kb","validity":"4 Days","talktime":"0"},{"amount":"54","detail":"300 MB 2G Data, Post 300 MB you will be charged at 4p\/10kb","validity":"7 Days","talktime":"0"},{"amount":"78","detail":"310 MB 2G Data , Post 310 MB you will be charged at 4p\/10kb","validity":"10 Days","talktime":"0"},{"amount":"95","detail":"550 MB 2G Data, Post 550 MB you will be charged at 4p\/10kb","validity":"14 Days","talktime":"0"},{"amount":"125","detail":"700 MB 2G Data, Post 700 MB you will be charged at 4p\/10kb","validity":"18 Days","talktime":"0"},{"amount":"155","detail":"850 MB 2G Data, Post 850 MB you will be charged at 4p\/10kb","validity":"21 Days","talktime":"0"},{"amount":"179","detail":"1 GB 2G Data, Post 1 GB you will be charged at 4p\/10kb","validity":"28 Days","talktime":"0"},{"amount":"198","detail":"Hero Recharge : Get 1.25 GB 2G Data assured benefit (upto 3 GB 2G Data with hero recharge)","validity":"28 Days","talktime":"0"},{"amount":"199","detail":"2 GB Unlimted 2G Data, Post 2 GB your speed will be reduced up to 40kbps","validity":"28 Days","talktime":"0"},{"amount":"249","detail":"3 GB Unlimted 2G Data, Post 3 GB your speed will be reduced up to 40kbps","validity":"28 Days","talktime":"0"},{"amount":"205","detail":"1 GB 2G Data Day + Extra 1 GB 2G Night Data (12AM to 6AM)","validity":"28 Days","talktime":"0"},{"amount":"305","detail":"2 GB 2G Data Day + Extra 2 GB 2G Night Data (12AM to 6AM)","validity":"28 Days","talktime":"0"},{"amount":"395","detail":"3 GB 2G Data Day + Extra 3 GB 2G Night Data (12AM to 6AM)","validity":"28 Days","talktime":"0"},{"amount":"57","detail":"190 MB 2G Data, Post 190 MB you will be charged at 4p\/10kb","validity":"28 Days","talktime":"0"},{"amount":"98","detail":"300 MB 2G Data, Post 300 MB you will be charged at 4p\/10kb","validity":"28 Days","talktime":"0"}]},"resCode":"200","resText":"SUCCESS"}';

var myData = JSON.parse(jsonString);

$(document).ready(function() {
    var $amountlist = $('#amount');
    var $detaillist = $('#detail');
    var $validitylist = $('#validity');
    var $talktimelist = $('#talktime');

    $.each(myData, function() {
        $('<li>' + data.2G.amount + '</li>').appendTo($amountlist);
        $('<li>' + data.2G.detail + '</li>').appendTo($detaillist);
        $('<li>' + data.2G.validity + '</li>').appendTo($validitylist);
        $('<li>' + data.2G.talktime + '</li>').appendTo($talktimelist);
    });
});
var jsonString='{“data”:{“amount”:“9”,“detail”:“35MB 2G data,Post 35MB您将按4p\/10kb收费”,“validity”:“1天”,“talktime”:“0”},{“amount”:“16”,“detail”:“90MB 2G data,Post 90MB您将按4p\/10kb收费”,“validity”:“2天”,“talktime”:“0”},{“amount”:“28”,“detail”:“160MB 2G数据,发布160MB您将按4p\/10kb收费”,“有效期”:“4天”,“通话时间”:“0”},{“金额”:“54”,“细节”:“300MB 2G数据,发布300MB您将按4p\/10kb收费”,“有效期”:“7天”,“通话时间”:“0”},{“金额”:“78”,“细节”:“310MB 2G数据,发布310MB您将按4p\/10kb收费”,“有效期”:“10天”,“通话时间”:“0”},{”金额“:”95“,”细节“:”550MB 2G数据,发布550MB您将按4p\/10kb收取费用“,”有效期“:”14天“,”通话时间“:”0“,”金额“:”125“,”细节“:”700MB 2G数据,发布700MB您将按4p\/10kb收取费用“,”有效期“:”18天“,”通话时间“:”0“,”金额“:”155“,”细节“,”850 MB 2G数据,发布850 MB您将按4p\/10kb收取费用“,”有效期“:”21天,“通话时间”:“0”},{“金额”:“179”;“详细信息”:“1GB 2G数据,发布1GB您将按4p\/10kb收费”,“有效性”:“28天”,“通话时间”:“0”},{“金额”:“198”;“详细信息”:“英雄充值:获得1.25GB 2G数据保证收益(英雄充值时最高可达3GB 2G数据)”,“有效性”:“28天”,“通话时间”:“0”;{“金额”:“199”;“详细信息”:2 GB未安装2G数据,发布2 GB您的速度将降低至40kbps,“有效性”:“28天”,“通话时间”:“0”;“数量”:“249”,“细节”:“3 GB未安装2G数据,发布3 GB您的速度将降低至40kbps”,“有效性”:“28天”,“通话时间”:“0”;“数量”:“205”,“细节”:“1 GB 2G数据日+额外1 GB 2G夜间数据(上午12点至6点)”,“有效性”:28天,“通话时间”:“0”},{“数量”:“305”,“细节”:“2 GB 2G数据日+额外2 GB 2G夜间数据(上午12点至6点)”,“有效性”:“28天”,“通话时间”:“0”},{“数量”:“395”,“细节”:“3 GB 2G数据日+额外3 GB 2G夜间数据(上午12点至6点)”,“有效性”:“28天”,“通话时间”:“0”},{“数量”:“57”,“细节”:190MB 2G数据,发布190MB您将按4p\/10kb收费,“有效期”:“28天”,“通话时间”:“0”},{“金额”:“98”,“细节”:“300MB 2G数据,发布300MB您将按4p\/10kb收费”,“有效期”:“28天”,“通话时间”:“0”}]},“重新编码”:“200”,“重新文本”:“成功”};
var myData=JSON.parse(jsonString);
$(文档).ready(函数(){
变量$amountlist=$('金额');
var$detaillist=$('#detail');
var$validitylist=$(“#validity”);
var$talktimelist=$(“#talktime”);
$.each(myData,function(){
$(“
  • ”+data.2G.amount+”
  • )。附录($amountlist); $(“
  • ”+data.2G.detail+“
  • ”).appendTo($detaillist); $(“
  • ”+data.2G.validity+“
  • ”).appendTo($validitylist); $(“
  • ”+data.2G.talktime+“
  • ”).appendTo($talktimelist); }); });

    您不能使用
    dot
    访问
    2G
    。您可以使用
    数据[“2G”]
    访问此属性

    var jsonString = '{"data":{"2G":[{"amount":"9","detail":"35 MB 2G Data , Post 35 MB you will be charged at 4p\/10kb","validity":"1 Day","talktime":"0"},{"amount":"16","detail":"90 MB 2G Data, Post 90 MB you will be charged at 4p\/10kb","validity":"2 Days","talktime":"0"},{"amount":"28","detail":"160 MB 2G Data, Post 160 MB you will be charged at 4p\/10kb","validity":"4 Days","talktime":"0"},{"amount":"54","detail":"300 MB 2G Data, Post 300 MB you will be charged at 4p\/10kb","validity":"7 Days","talktime":"0"},{"amount":"78","detail":"310 MB 2G Data , Post 310 MB you will be charged at 4p\/10kb","validity":"10 Days","talktime":"0"},{"amount":"95","detail":"550 MB 2G Data, Post 550 MB you will be charged at 4p\/10kb","validity":"14 Days","talktime":"0"},{"amount":"125","detail":"700 MB 2G Data, Post 700 MB you will be charged at 4p\/10kb","validity":"18 Days","talktime":"0"},{"amount":"155","detail":"850 MB 2G Data, Post 850 MB you will be charged at 4p\/10kb","validity":"21 Days","talktime":"0"},{"amount":"179","detail":"1 GB 2G Data, Post 1 GB you will be charged at 4p\/10kb","validity":"28 Days","talktime":"0"},{"amount":"198","detail":"Hero Recharge : Get 1.25 GB 2G Data assured benefit (upto 3 GB 2G Data with hero recharge)","validity":"28 Days","talktime":"0"},{"amount":"199","detail":"2 GB Unlimted 2G Data, Post 2 GB your speed will be reduced up to 40kbps","validity":"28 Days","talktime":"0"},{"amount":"249","detail":"3 GB Unlimted 2G Data, Post 3 GB your speed will be reduced up to 40kbps","validity":"28 Days","talktime":"0"},{"amount":"205","detail":"1 GB 2G Data Day + Extra 1 GB 2G Night Data (12AM to 6AM)","validity":"28 Days","talktime":"0"},{"amount":"305","detail":"2 GB 2G Data Day + Extra 2 GB 2G Night Data (12AM to 6AM)","validity":"28 Days","talktime":"0"},{"amount":"395","detail":"3 GB 2G Data Day + Extra 3 GB 2G Night Data (12AM to 6AM)","validity":"28 Days","talktime":"0"},{"amount":"57","detail":"190 MB 2G Data, Post 190 MB you will be charged at 4p\/10kb","validity":"28 Days","talktime":"0"},{"amount":"98","detail":"300 MB 2G Data, Post 300 MB you will be charged at 4p\/10kb","validity":"28 Days","talktime":"0"}]},"resCode":"200","resText":"SUCCESS"}';
    
    此外,您没有迭代正确的节点更改,您的代码如下所示

    $.each(myData.data["2G"], function (i,data) {
        alert(data.amount);
        alert(data.detail);
        alert(data.validity);
        alert(data.talktime);
    });
    

    您没有迭代正确的节点。请尝试以下操作:

    var jsonString = '{"data":{"2G":[{"amount":"9","detail":"35 MB 2G Data , Post 35 MB you will be charged at 4p\/10kb","validity":"1 Day","talktime":"0"},{"amount":"16","detail":"90 MB 2G Data, Post 90 MB you will be charged at 4p\/10kb","validity":"2 Days","talktime":"0"},{"amount":"28","detail":"160 MB 2G Data, Post 160 MB you will be charged at 4p\/10kb","validity":"4 Days","talktime":"0"},{"amount":"54","detail":"300 MB 2G Data, Post 300 MB you will be charged at 4p\/10kb","validity":"7 Days","talktime":"0"},{"amount":"78","detail":"310 MB 2G Data , Post 310 MB you will be charged at 4p\/10kb","validity":"10 Days","talktime":"0"},{"amount":"95","detail":"550 MB 2G Data, Post 550 MB you will be charged at 4p\/10kb","validity":"14 Days","talktime":"0"},{"amount":"125","detail":"700 MB 2G Data, Post 700 MB you will be charged at 4p\/10kb","validity":"18 Days","talktime":"0"},{"amount":"155","detail":"850 MB 2G Data, Post 850 MB you will be charged at 4p\/10kb","validity":"21 Days","talktime":"0"},{"amount":"179","detail":"1 GB 2G Data, Post 1 GB you will be charged at 4p\/10kb","validity":"28 Days","talktime":"0"},{"amount":"198","detail":"Hero Recharge : Get 1.25 GB 2G Data assured benefit (upto 3 GB 2G Data with hero recharge)","validity":"28 Days","talktime":"0"},{"amount":"199","detail":"2 GB Unlimted 2G Data, Post 2 GB your speed will be reduced up to 40kbps","validity":"28 Days","talktime":"0"},{"amount":"249","detail":"3 GB Unlimted 2G Data, Post 3 GB your speed will be reduced up to 40kbps","validity":"28 Days","talktime":"0"},{"amount":"205","detail":"1 GB 2G Data Day + Extra 1 GB 2G Night Data (12AM to 6AM)","validity":"28 Days","talktime":"0"},{"amount":"305","detail":"2 GB 2G Data Day + Extra 2 GB 2G Night Data (12AM to 6AM)","validity":"28 Days","talktime":"0"},{"amount":"395","detail":"3 GB 2G Data Day + Extra 3 GB 2G Night Data (12AM to 6AM)","validity":"28 Days","talktime":"0"},{"amount":"57","detail":"190 MB 2G Data, Post 190 MB you will be charged at 4p\/10kb","validity":"28 Days","talktime":"0"},{"amount":"98","detail":"300 MB 2G Data, Post 300 MB you will be charged at 4p\/10kb","validity":"28 Days","talktime":"0"}]},"resCode":"200","resText":"SUCCESS"}';
    
    $(document).ready(function() {
        var $amountlist = $('#amount');
        var $detaillist = $('#detail');
        var $validitylist = $('#validity');
        var $talktimelist = $('#talktime');
        var myData = $.parseJSON(jsonString);    
        console.log(myData.data["2G"]);
        $.each(myData.data["2G"], function(i,dataElem) {
            $('<li>' + dataElem.amount + '</li>').appendTo($amountlist);
            $('<li>' + dataElem.detail + '</li>').appendTo($detaillist);
            $('<li>' + dataElem.validity + '</li>').appendTo($validitylist);
            $('<li>' + dataElem.talktime + '</li>').appendTo($talktimelist);
        });
    });
    
    var jsonString='{“data”:{“amount”:“9”,“detail”:“35MB 2G data,Post 35MB您将按4p\/10kb收费”,“validity”:“1天”,“talktime”:“0”},{“amount”:“16”,“detail”:“90MB 2G data,Post 90MB您将按4p\/10kb收费”,“validity”:“2天”,“talktime”:“0”},{“amount”:“28”,“detail”:160MB 2G数据,发布160MB您将按4p\/10kb收费,“有效期”:“4天”,“通话时间”:“0”},{“金额”:“54”,“细节”:“300MB 2G数据,发布300MB您将按4p\/10kb收费”,“有效期”:“7天”,“通话时间”:“0”},{“金额”:“78”,“细节”:“310MB 2G数据,发布310MB您将按4p\/10kb收费”,“有效期”:“10天”,“通话时间”:“0”},{”金额“:”95“,”细节“:”550MB 2G数据,发布550MB您将按4p\/10kb收取费用“,”有效期“:”14天“,”通话时间“:”0“,”金额“:”125“,”细节“:”700MB 2G数据,发布700MB您将按4p\/10kb收取费用“,”有效期“:”18天“,”通话时间“:”0“,”金额“:”155“,”细节“,”850 MB 2G数据,发布850 MB您将按4p\/10kb收取费用“,”有效期“:”21天,“通话时间”:“0”},{“金额”:“179”;“详细信息”:“1GB 2G数据,发布1GB您将按4p\/10kb收费”,“有效性”:“28天”,“通话时间”:“0”},{“金额”:“198”;“详细信息”:“英雄充值:获得1.25GB 2G数据保证收益(英雄充值时最高可达3GB 2G数据)”,“有效性”:“28天”,“通话时间”:“0”;{“金额”:“199”;“详细信息”:2 GB未安装2G数据,发布2 GB您的速度将降低至40kbps,“有效性”:“28天”,“通话时间”:“0”;“数量”:“249”,“细节”:“3 GB未安装2G数据,发布3 GB您的速度将降低至40kbps”,“有效性”:“28天”,“通话时间”:“0”;“数量”:“205”,“细节”:“1 GB 2G数据日+额外1 GB 2G夜间数据(上午12点至6点)”,“有效性”:28天,“通话时间”:“0”},{“数量”:“305”,“细节”:“2 GB 2G数据日+额外2 GB 2G夜间数据(上午12点至6点)”,“有效性”:“28天”,“通话时间”:“0”},{“数量”:“395”,“细节”:“3 GB 2G数据日+额外3 GB 2G夜间数据(上午12点至6点)”,“有效性”:“28天”,“通话时间”:“0”},{“数量”:“57”,“细节”:190MB 2G数据,发布190MB您将按4p\/10kb收费,“有效期”:“28天”,“通话时间”:“0”},{“金额”:“98”,“细节”:“300MB 2G数据,发布300MB您将按4p\/10kb收费”,“有效期”:“28天”,“通话时间”:“0”}]},“重新编码”:“200”,“重新文本”:“成功”};
    $(文档).ready(函数(){
    变量$amountlist=$('金额');
    var$detaillist=$('#detail');
    var$validitylist=$(“#validity”);
    var$talktimelist=$(“#talktime”);
    var myData=$.parseJSON(jsonString);
    console.log(myData.data[“2G”]);
    $.each(myData.data[“2G”],函数(i,dataElem){
    $(“
  • ”+dataElem.amount+“
  • ”).appendTo($amountlist); $(“
  • ”+dataElem.detail+“
  • ”).appendTo($detaillist); $(“
  • ”+dataElem.validity+“
  • ”).appendTo($validitylist); $(“
  • ”+dataElem.talktime+“
  • ”).appendTo($talktimelist); }); });

    var json = '{"Users":[{"Name":"user999","Value":"test"},{"Name":"test2","Value":"test"}]}'; var json_parsed = $.parseJSON(json); for (var u = 0; u < json_parsed.Users.length; u++){ var user = json_parsed.Users[u]; $('body').append($('<p>').html('User: '+user.Name+'<br />Value: '+user.Value)); }
    $(document).ready(function() {
       var loop = myData.data["2G"];
       for(var i = 0; i < loop.length; i ++) {
          $("#amount").append('<li>' + loop[i].amount + '</li>');
          $("#detail").append('<li>' + loop[i].detail + '</li>');
          $("#validity").append('<li>' + loop[i].validity + '</li>');
          $("#talktime").append('<li>' + loop[i].talktime + '</li>');
       }
    });
    
    $(document).ready(function() {
    var $amountlist = $('#amount');
    var $detaillist = $('#detail');
    var $validitylist = $('#validity');
    var $talktimelist = $('#talktime');
    
    $.each(myData.data, function(key,value) {
            $.each(value,function(i,val){
    
       $('<li>' + val.amount + '</li>').appendTo($amountlist);
        $('<li>' + val.detail + '</li>').appendTo($detaillist);
        $('<li>' + val.validity + '</li>').appendTo($validitylist);
        $('<li>' + val.talktime + '</li>').appendTo($talktimelist);
        })
    
    
    });