请求格式为jsonld的json

请求格式为jsonld的json,json,json-ld,Json,Json Ld,我想从天气API接收数据。 他们说他们使用json API。但是当我查看请求URL时,它是 v0.jsonld?类型=传感器系统 我尝试过使用标准的js脚本,但是使用这个url,我得到了错误的数据。 我已经挣扎了好几个星期了 有人给我小费吗? <!DOCTYPE html> <html> <body> <h2>Create Object from JSON String</h2> <div id="ip">&

我想从天气API接收数据。 他们说他们使用json API。但是当我查看请求URL时,它是

v0.jsonld?类型=传感器系统

我尝试过使用标准的js脚本,但是使用这个url,我得到了错误的数据。 我已经挣扎了好几个星期了

有人给我小费吗?


<!DOCTYPE html>
<html>
<body>
    <h2>Create Object from JSON String</h2>
    <div id="ip"></div>
    <div>
        <div id="response">
        </div>
        <p id="demo"></p>
        <input type="button" class="btn btn-primary" value="Call Web API" onclick="javascript:CallWebAPI();" /><br>
        <input type="button" class="btn btn-primary" value="Call fetchStatus" onclick="javascript:fetchStatus();" /><br>

        <div id="mydiv" style="color:red"></div>
        <script type="text/javascript">
            var myIpAdresse;
            //Hent datamskinens IP adressen
            getIP()

            //************************************************************************************************************
            //************************************************************************************************************
            //**  variabler
            var url = 'https://frost.met.no/sources/v0.jsonld?types=SensorSystem&geometry=nearest(POINT(10.905166779011005%2060.060156717165675))';

            var x;
            var txt;

            var MyUserName = '0c23a1ce-1d3b-4481-9c0a-ecc505e39620';

            //var credentials= window.btoa(MyUserName + ':' + MySecret);
            var credentials= window.btoa(MyUserName + ':');
            var logData = makeBaseAuth(MyUserName, MySecret);
            const httpGetOptions ={withCredentials: true,};

            //alert("Authorization: Basic " + credentials);
            //alert(credentials);     //dXNlcm5hbWU6cGFzc3dvcmQ=

            //************************************************************************************************************
            //************************************************************************************************************
            //** Hent IP Adressen
            function getIP() {
                var MyIP = new XMLHttpRequest();

                MyIP.open('GET', 'https://api.ipify.org?format=json', true);

                MyIP.onload=function() {
                    // process response
                    if (MyIP.status == 200) {
                        // parse JSON data
                        var myObjIP = JSON.parse(MyIP.responseText);
                        myIpAdresse = myObjIP.ip;

                        document.getElementById('ip').innerHTML = myIpAdresse;

                    } else {
                        alert('Error!');
                    }
                };
                MyIP.send();
            }
            //************************************************************************************************************
            //************************************************************************************************************





            //************************************************************************************************************
            //************************************************************************************************************
            //** Hent data fra URL
            function CallWebAPI() {
                //var client = null;
                var url2 = new URL('/sources/v0.jsonld?types=SensorSystem', 'https://frost.met.no');
                url2=url2.toString();

                var url ='https://frost.met.no/sources/v0.jsonld?types=SensorSystem';


                var client = new XMLHttpRequest()
                client.open('GET', url, true)

                client.onload=function() {
                    // process response
                    if (client.status == 200) {
                        // parse JSON data
                        alert(JSON.parse(client.responseText));

                    } else {
                        alert('Error!');
                    }
                };

                client.setRequestHeader('Access-Control-request-Methods', 'GET');
                client.setRequestHeader('Content-Type', 'application/vnd.api+json');
                client.setRequestHeader('Authorization','Basic ' + credentials);
                client.send(null);

                client.onerror = function() {
                    alert('xmlHTTP Error', client.responseText)
                }
            }


            function fetchStatus() {
                var client = new XMLHttpRequest();

                client.onreadystatechange = function() {
                // in case of network errors this might not give reliable results
                if(this.readyState == 4)
                    returnStatus(this.status);
                }

                client.open('HEAD', url1);
                client.setRequestHeader('Accept','application/json');
                client.setRequestHeader('Authorization','Basic ' + credentials);
                client.send();
            }

            function makeBaseAuth(user,password) {
                var tok = user + ':' + password;
                var hash = btoa(tok);
                //alert(hash);
                return 'Basic ' + hash;
            }
        </script>

</body>
</html>
从JSON字符串创建对象



Myipadesse变种; //Hent datamskinens IP地址 getIP() //************************************************************************************************************ //************************************************************************************************************ //**变量器 var url='1〕https://frost.met.no/sources/v0.jsonld?types=SensorSystem&geometry=nearest(点(10.905166779011005%2060.060156717165675));; var x; var-txt; var MyUserName='0c23a1ce-1d3b-4481-9c0a-ecc505e39620'; //var-credentials=window.btoa(MyUserName+':'+MySecret); var-credentials=window.btoa(MyUserName+':'); var logData=makeBaseAuth(MyUserName,MySecret); const httpGetOptions={withCredentials:true,}; //警报(“授权:基本”+凭证); //警报(凭证)//dXNlcm5hbWU6cGFzc3dvcmQ= //************************************************************************************************************ //************************************************************************************************************ //**亨特IP地址 函数getIP(){ var MyIP=new XMLHttpRequest(); MyIP.open('GET','https://api.ipify.org?format=json",对),; MyIP.onload=函数(){ //过程响应 如果(MyIP.status==200){ //解析JSON数据 var myObjIP=JSON.parse(MyIP.responseText); myIpAdresse=myObjIP.ip; document.getElementById('ip').innerHTML=MyIPAddresse; }否则{ 警报('错误!'); } }; MyIP.send(); } //************************************************************************************************************ //************************************************************************************************************ //************************************************************************************************************ //************************************************************************************************************ //**亨特数据fra URL 函数CallWebAPI(){ //var-client=null; var url2=新URL('/sources/v0.jsonld?types=SensorSystem','https://frost.met.no'); url2=url2.toString(); var url='1〕https://frost.met.no/sources/v0.jsonld?types=SensorSystem'; var client=new XMLHttpRequest() client.open('GET',url,true) client.onload=function(){ //过程响应 如果(client.status==200){ //解析JSON数据 警报(JSON.parse(client.responseText)); }否则{ 警报('错误!'); } }; setRequestHeader('Access-Control-request-Methods','GET'); setRequestHeader('Content-Type','application/vnd.api+json'); setRequestHeader('Authorization','Basic'+凭证); client.send(空); client.onerror=函数(){ 警报('xmlHTTP错误',client.responseText) } } 函数fetchStatus(){ var client=new XMLHttpRequest(); client.onreadystatechange=函数(){ //如果出现网络错误,这可能无法给出可靠的结果 if(this.readyState==4) 返回状态(此状态); } 客户机。打开('HEAD',url1); setRequestHeader('Accept','application/json'); setRequestHeader('Authorization','Basic'+凭证); client.send(); } 函数makeBaseAuth(用户、密码){ var tok=用户+':'+密码; var hash=btoa(tok); //警报(散列); 返回'Basic'+散列; }

从JSON字符串创建对象



Myipadesse变种; //Hent datamskinens IP地址 getIP() //************************************************************************************************************ //************************************************************************************************************ //**变量器 var url='1〕https://frost.met.no/sources/v0.jsonld?types=SensorSystem&geometry=nearest(点(10.905166779011005%2060.060156717165675));; var x; var-txt; var MyUserName='0c23a1ce-1d3b-4481-9c0a-ecc505e39620'; //var-credentials=window.btoa(MyUserName+':'+MySecret); var-credentials=window.btoa(MyUserName+':'); var logData=makeBaseAuth(MyUserName,MySecret); const httpGetOptions={withCredentials:true,}; //a