[英]How can I most easily parse this HTTP response into JSON to then access responseText fields?
我正在嘗試解析從此 URL - https://www.cloudflare.com/cdn-cgi/trace返回的明文 - 以讀取 ZA12A3079E14CED46E69BA52B 地址值。 這是我用於請求的代碼片段:
ipAddress = $.get('https://www.cloudflare.com/cdn-cgi/trace', function(data) { return data; });
登錄瀏覽器控制台后,響應如下所示:
我試過使用JSON.stringify()
,使用['responseText']
訪問responseText
,以及.responseText
.. 但沒有運氣。
如何解析此響應,以便我可以最輕松地從responseText
中訪問ip
值?
$.get("https://www.cloudflare.com/cdn-cgi/trace", function(data) {
const [ ,ip ] = data.match(new RegExp("ip=" + "(.*)" + "\n"));
console.log(ip);
});
輸出
"2a01:cb18:362:2200:e90e:fb09:8445:6302"
您可以在回車上進行解析,也可以簡單地在字符串中查找 ip= 或使用正則表達式搜索它。
如果您查看 ipAddress.reponseText 它是一個回車分隔的字符串。 所以
var myip=ipAddress.responseText.split('\n');
console.log(myip[2]); 'the text ip=192.168.1.10 for example if it's always in the same position.
如果它不在同一個 position 中,則查看數組以找到它。
它的返回文件作為響應,所以我不太清楚 JSON,這里有一些方法
const ipAddress = $.get('https://www.cloudflare.com/cdn-cgi/trace', function (data) { const arr = data.split("\n") const ip = arr.filter(v => v.includes("ip="))[0] console.log(ip.split("=")[1]) });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.