如何从脚本中的外部JSON更新值

时间:2015-08-30 06:11:40

标签: javascript html json

我正在尝试使用justgauage。我可以在硬编码值时构建页面,但是如何从JSON获取值。

<style>
  body {
    text-align: center;
  }

  #g1, #g2, #g3 {
    width:200px; height:160px;
    display: inline-block;
    margin: 1em;
  }

  p {
    display: block;
    width: 450px;
    margin: 2em auto;
    text-align: left;
  }
</style>

</head>
<body>
<div id="g1"></div>
<script src="../raphael-2.1.4.min.js"></script>    
<script src="../justgage.js"></script>

<script>
  $(function(){
  $.getJSON("json/test.json",
   function(data) { 
     new JustGage({
      id: "g1", 
      value: document.getElementById.innerHTML = data[0].value, 
      min: 0,
      max: 30,
      title: "Production A"

    });
  }
);
});
</script>

我面临的问题是我无法从JSON传递值。 我试图从外部JSON输入值“15”。

我的JSON是
    { “文”:{ “总”: “15”}} 有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

在你的HTML中:

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<!-- You need to add jquery before using it in your function, you can add a copy of jquery too instead a web reference-->
<script src="../raphael-2.1.4.min.js"></script>    
<script src="../justgage.js"></script>

$。getJSON是一个jQuery库函数!!

$。getJSON在ASYNC MODE中返回一个javascript对象。这意味着什么:

您需要在作为第一个参数:

给出的函数内调用您想要的内容
var hey = "NOTHING RETRIEVED";
$.getJSON(function(IMPORTANTDATA){
   hey = IMPORTANTDATA.someproperty;// this should be 15
     // ONLY here will be available IMPORTANTDATA that is inside your json file, otherwise the execution will continue with no-sense of your code

    console.log(hey); // Will display 15 in the console
});
alert(hey);// stills alerting NOTHING RETRIEVED

请记住,您需要以某种方式模拟服务器,因为jquery说:

&#34;使用GET HTTP请求从服务器加载JSON编码的数据。&#34;

你至少需要一个本地主机。

所以你可能希望json文件有这个:

{"text":{"total":"15"}}

然后jquery功能返回从json文件中检索的对象

$(function(){
  $.getJSON("json/test.json", function(data) { 
       //data is an object
       // console.log(data);

     new JustGage({ 
          id: "g1", 
          value: data.text.total, // this will be "15"
          min: 0, 
          max: 30,
           title: "Production A" 
      }); 


    }); 
}); 

请阅读有关使用javascript here处理JSON的更多信息,如果这不是问题,请写清楚问题

答案 1 :(得分:-2)

创建:

(int*)nullptr

阅读json:

var number = {'number':15} // json object

了解更多信息: http://www.w3schools.com/json/json_intro.asp