【问题标题】:JSON "value" into HTMLJSON“值”转换为 HTML
【发布时间】:2014-07-15 04:39:40
【问题描述】:

我正在尝试访问 USGS.gov JSON 输出中的排水量值。

USGS JSON URL

我想从以下位置拉取数值:

"values":[{"value":[{"value":"2510"

并将其放入 div 或 span 以使用 CSS 设置样式。

(该值是实时的,并将继续从我的帖子中删除为 2510)

我对 JSON 完全陌生,USGS 文件非常复杂,我无法对其进行正面或反面。我希望保持它超级简单,就像我在 API.JQUERY.COM 找到的这个 FLICKER API 示例一样

我想它会开始像

  <span id="usgs_span"></span>

<script>
var usgs = "USGS JSON URL;
  $.getJSON( usgs, {
  })
    .done(function( data ) {
        $.values.value( "<span>" ).appendTo( "#usgs_span" );
    });
})();
</script>

任何帮助将不胜感激!

【问题讨论】:

    标签: jquery html json


    【解决方案1】:

    试试this

    (function() {
      var APIURL = "http://waterservices.usgs.gov/nwis/iv/?format=json&sites=01199000&parameterCd=00060";
      $.getJSON( APIURL, {   })
        .done(function( data ) {
    
    
             $.each( data.value.timeSeries[0].values[0].value, function( i, item ) {
                  $( "#test" ).html($( "#test" ).html()+":"+item.value);
             });
    
        });
    })();
    

    当您坚持查找要解析的值时,您可以使用http://www.jsontree.com/ 在单击所需节点时获取树视图,它将显示解析器对象是什么。

    【讨论】:

    • 我最终也使用相同的代码来访问和转换另一个 usgs 数据点的水温数据。 &lt;div id="nmTEMP"&gt;&lt;/div&gt; &lt;script&gt; (function() { var APIURL = "http://waterservices.usgs.gov/nwis/iv/?format=json&amp;sites=01200600&amp;parameterCd=00010"; $.getJSON( APIURL, { }) .done(function( data ) { $.each( data.value.timeSeries[0].values[0].value, function( i, item ) { $( "#nmTEMP" ).html((($( "#nmTEMP" ).html()+item.value) * 1.8 + 32).toFixed(0)); }); }); })(); &lt;/script&gt;
    • 您好,因此它对waterservices.usgs.gov/nwis/iv/… 的访问已被阻止。我仍然可以在浏览器中加载数据,但该功能无法再访问它。 (403 错误)有什么办法吗?
    • 尝试使用 https 他们已经禁止 http 访问。
    【解决方案2】:

    是的,数据非常复杂,但是您仍然可以像处理其他任何人一样挖掘响应。先将数据拉取并转换为对象,然后将其记录到控制台。

    var xhr = new XMLHttpRequest();
    var url = "http://waterservices.usgs.gov"
            + "/nwis/iv/?format=json&sites=01199000&parameterCd=00060";
    
    xhr.open("GET", url, true);
    xhr.send();
    xhr.onload = function() {
        var data = JSON.parse(xhr.responseText);
    
        console.log(data);
    };
    

    扩展记录到控制台的数据的属性,直到找到所需的内容。

    然后查看您已扩展的属性并使用它们来解析您的值。

    var myValue = data.value.timeSeries[0].values[0].value[0].value;
    
    // do something with myValue
    

    http://jsfiddle.net/3QUxX/


    看起来这个数据比 JSON 更适合 XML。他们可能在编写此服务时考虑了 XML,并提供 JSON 作为让步。省略format=json URL 参数并从XML 响应中提取您需要的数据可能更容易。

    【讨论】:

    • 哦,哇,将它转换为 xml 确实使它更清晰。清晰得令人吃惊……
    猜你喜欢
    • 2011-08-12
    • 2017-06-06
    • 1970-01-01
    • 2013-09-03
    • 2022-01-17
    • 2014-02-23
    • 1970-01-01
    • 2019-11-24
    • 2021-07-13
    相关资源
    最近更新 更多