所有分类
  • 所有分类
  • 后端开发
JavaScript开发者必看!玩转JSON,获取数据轻松如织

JavaScript开发者必看!玩转JSON,获取数据轻松如织

notation)已经成为数据传输中最常用的格式之一。请求、从本地文件读取等方式。对象中的值有两种方式:点运算符和方括号。对象,还可以使用点或方括号运算符的组合来访问嵌套的属性。本应用将会通过从京东网站中获取商品信息来实现。代码,获取商品信

大家好,今天我要给你们普及一下怎么玩转JS里的JSON!现在前端开发很火热滴说,尤其是JavaScript可是超强悍,连客户端的事儿它也可以搞定。但要是说到传个数据之类的话题,就必须聊聊json。实话告诉你,用JS处理JSON超级容易的,接下来就让我给大伙儿详细说说该咋做!

获取 JSON 字符串

首先,咱们得了解啥叫JSON才行。在JavaScript里,咱们能用好几种办法找到它们,比如遇到网页给咱发来的,那就赶紧用Ajax;或者干脆看看自己电脑里有木有;要是不小心接到了不是JSON的数据怎么办?别急,我们还能把它转换成JSON!

把 JSON 字符串转换为 JSON 对象

<pre class='brush:javascript;toolbar:false;’>// 通过Ajax获取JSON字符串
const xhr = new XMLHttpRequest();
xhr.open(‘GET’, ‘json/data.json’, true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status ===200) {
const jsonStr = xhr.responseText;
console.log(jsonStr);
}
}
xhr.send();
// 从JS对象中获取JSON字符串
const obj = {name: ‘Alice’, age: 18};
const jsonStr = JSON.stringify(obj);
console.log(jsonStr);
// 从本地文件读取JSON字符串
fetch(‘data.json’)
.then(response => response.json())
.then(data => {
const jsonStr = JSON.stringify(data);
console.log(jsonStr);
})
.catch(err => {
console.log(‘Error: ‘, err);
})

搞定那个JSON字符串,那到底啥意思?不明白的话咋用嘞?得亏我们JavaScript里面还有个神奇的工具叫JSON.parse(),它能帮你轻松搞定,立刻变身成实用无比的JSON对象!有点复杂,其实,就这么回事:

获取 JSON 对象中的值

const jsonStr = '{"name": "Alice", "age": 18}';
const jsonObj = JSON.parse(jsonStr);
console.log(jsonObj); // 输出:{name: "Alice", age: 18}

想读取JSON里的数据呀?简直小菜一碟!只需记住星星点点的点()和方阵似的中括号([])就妥。复杂嵌套那玩意儿完全不在话下哦~不信你看:

实战应用:获取京东商品信息

搞定了基础知识,下面我们来实际应用,深入研究怎么玩得开心。那咱们该咋办?网上搜个京东的商品信息瞧瞧!操作特简单:

const jsonObj = {name: 'Alice', age: 18, address: {city: 'Shanghai', street: 'Nanjing Road'}};
// 通过点运算符访问JSON对象属性
console.log(jsonObj.name); // 输出:'Alice'
// 通过方括号运算符访问JSON对象属性
console.log(jsonObj['age']); // 输出:18
// 访问嵌套JSON对象中的属性
console.log(jsonObj.address.city); // 输出:'Shanghai'
console.log(jsonObj['address']['street']); // 输出:'Nanjing Road'

首先,得搞到商品页面的 HTML 代码;

让我们一起来看看怎样用Javascript搞定京东产品里那些复杂的HTML代码!

快点!咱们赶紧研究 HTML 代码,看看里面究竟啥样儿。

这产品数据整得不赖,咱直接弄成JSON格式得了呗!

function getHtml(url) {
  return new Promise((resolve, reject) => {
    const xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.onreadystatechange = function() {
      if (xhr.readyState === 4) {
        if (xhr.status >=200 && xhr.status  {
  console.log(html)
})
.catch(err => {
  console.log('Error: ', err);
})

最后,可以通过前端页面展示这些商品信息JSON对象。

你是不是想要学习JS?别忘了先学JSON这个东西在前端可是非常重要的!今天我会手把手教你怎么操作JSON对象,以后碰到问题也不怕!

function parseHtml(html) {
  const regName = /
s*

(.*?)

/gi; const regPrice = /s*¥/gi; const regImg = /JavaScript开发者必看!玩转JSON,获取数据轻松如织 { const data = parseHtml(html); console.log(data); }) .catch(err => { console.log('Error: ', err); })

原文链接:https://www.icz.com/technicalinformation/web/2024/03/12319.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?