使用JavaScript读取json文件

  • 前言
  • 正式开始
    • 前提条件
    • 终于可以开始了
  • 全部代码

前言

最近尝试使用js读取json文件,并调用json的数据。在网上找到各种大佬写的教程,拷贝到自己电脑上就各种报错,对于新手来说不太友好。经过一个下午的时间终于搞定,自己走了很多弯路,所以在这里做个记录,希望帮助到js新手少走弯路,欢迎大佬批评指正~

正式开始

前提条件

网上最多的方法就是让使用ajax读取,但是我自己一用,浏览器就报错

通过查资料才知道,原来是因为没有引入jquery,需要在head中引入jquery

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Text</title><!-- 引入jquery --><script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>//
</head>

终于可以开始了

json数据如下

[{"year": 2011,"province": "湖北","city": "武汉","housingprise": 7954},{"year": 2011,"province": "河南","city": "郑州","housingprise": 6566},{"year": 2020,"province": "湖北","city": "武汉","housingprise": 15998},{"year": 2020,"province": "河南","city": "郑州","housingprise": 13597}
]

下面开始读取json数据
总共尝试了三种方法,这里一一进行介绍

  1. 方法一
    代码如下
    参考博客https://blog.csdn.net/weixin_43356295/article/details/82966046
       //方法1var data =  $.parseJSON($.ajax({url: "textJsonData.json",//json文件位置,文件名dataType: "json", //返回数据格式为jsonasync: false}).responseText);console.log(data);//此方法会报错:主线程中同步的 XMLHttpRequest 已不推荐使用,因其对终端用户的用户体验存在负面影响

运行结果就是也能执行,但是浏览器会发出警告

网上查的方法让把

async: false

改成

async: true

但是改完了数据直接无法读取了,这里不找到为什么,知道原因的请告诉我

出于强迫症,肯定不能允许这种情况的出现,于是转向方法二

  1. 方法二
    代码如下
    参考博客https://blog.csdn.net/ClearLoveQ/article/details/90480207
        //方法二var Ajax = function () {$.getJSON("textJsonData.json", function (data) {console.log(data);});}();//此方法只能在内部访问数据

运行结果如下,可以正确读取

但是此方法只能在$.getJSON内部访问数据,在外部无法获取,解决方法是:可以在内部传入一个函数,而函数体写在外部

于是,将上面的代码改成

        var Ajax = function () {$.getJSON("textJsonData.json", function (data) {displayData(data)//传入一个函数});}();

在外部定义displayData函数

        var displayData= function(data){console.log(data);}
  1. 方法三
    与方法2类似,也需要用到外部的displayData函数,也是被最多人推荐的方法,代码如下
        //方法三$.ajax({url: "textJsonData.json",type: "GET",dataType: "json",success: function (data) {displayData(data)}});//类似于方法二

同样正确读取数据

全部代码

希望对大家起到帮助,欢迎大家批评指正!

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Text</title><!-- 引入jquery --><script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head><body><h1>测试</h1><script>//方法1var data =  $.parseJSON($.ajax({url: "textJsonData.json",//json文件位置,文件名dataType: "json", //返回数据格式为jsonasync: false}).responseText);console.log(data);//此方法会报错:主线程中同步的 XMLHttpRequest 已不推荐使用,因其对终端用户的用户体验存在负面影响//方法二var Ajax = function () {$.getJSON("textJsonData.json", function (data) {displayData(data)//传入一个函数});}();//此方法只能在内部访问数据var displayData= function(data){console.log(data);}//方法三$.ajax({url: "textJsonData.json",type: "GET",dataType: "json",success: function (data) {displayData(data)}});//类似于方法二</script>
</body></html>

新手如何使用JavaScript读取json文件相关推荐

  1. 新手如何使用JavaScript读取json文件 v2.0

    前言 3年前,我在纯小白时期写的一篇文章:新手如何使用JavaScript读取json文件 至今仍时常有小伙伴点击. 如今自己在此知识领域已经有所成长,故重写一篇更高质量,更有帮助的文章,希望更有效的 ...

  2. 《机器学习与数据科学(基于R的统计学习方法)》——2.8 读取JSON文件

    本节书摘来异步社区<机器学习与数据科学(基于R的统计学习方法)>一书中的第2章,第2.8节,作者:[美]Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区&q ...

  3. 本地服务器json文件,从本地ftp服务器读取Json文件

    我是存储在本地服务器中的名为File1.js的json文件.我想读取json文件的内容,并希望在其他文件中显示数据.我已经尝试使用JavaScript编码,但它不能正常工作.从本地ftp服务器读取Js ...

  4. Java 读取 JSON 文件转成 Map 对象

    Java 读取 JSON 文件转成 Map 对象 应用场景 待读取的外部 JSON 文件 Java 代码 读取结果 Gson 应用场景 Jar 包或 War 包引用一个外部文件作为项目运行的配置文件 ...

  5. netcore读取json文件_.net core读取json格式的配置文件

    在.Net Framework中,配置文件一般采用的是XML格式的,.NET Framework提供了专门的ConfigurationManager来读取配置文件的内容,.net core中推荐使用j ...

  6. R读取json文件并转化为dataframe

    R读取json文件并转化为dataframe 目录 R读取json文件并转化为dataframe R读取json文件 把json转为dataframe

  7. cocos2d-x之读取json文件

    cocos2d-x之读取json文件 在resource文件夹下,添加data.json文件 新建->Other->empty->open 就新建一个json文件了, data.js ...

  8. javascript读取xml文件读取节点数据的例子

    分享下用javascript读取xml文件读取节点数据方法. 读取的节点数据,还有一种情况是读取节点属性数据. <head> <title></title> < ...

  9. python读取json配置文件_Python简单读取json文件功能示例

    本文实例讲述了Python简单读取json文件功能.分享给大家供大家参考,具体如下: read_json.json: { "rule":{ "namespace" ...

  10. java spark 读取json_apache-spark - 与aws-java-sdk链接时,在读取json文件时发生Spark崩溃 - 堆栈内存溢出...

    让config.json成为一个小的json文件: { "toto": 1 } 我做了一个简单的代码,用sc.textFile读取json文件(因为文件可以在S3,本地或HDFS上 ...

最新文章

  1. Android消息机制 Looper源码阅读
  2. C++笔记——指针函数/函数指针
  3. java流与文件——内存映射文件
  4. asp.net 去除字符串右侧的最后一个字符
  5. Acad多窗体并排展现
  6. 基于Nodejs+vue开发实现酒店管理系统
  7. echarts全国省市县下钻
  8. 数据挖掘案例实战:利用LDA主题模型提取京东评论数据(四)
  9. 最新抖音视频无水印解析接口-突破频率限制
  10. Windows电脑添加打印机
  11. 怎样为Windows7系统设置快速启动栏
  12. 【网速监控工具——TrafficMonitor 】的下载安装使用教程
  13. 一行搞定List<T>中的成员数量统计
  14. Android Janus漏洞修复
  15. DTI预处理及确定性纤维束追踪
  16. 18.3 KSM页面小结
  17. 计算机春考,春考计算机模拟试卷.ppt
  18. 大白话chatGPT GPT的发展区别
  19. Kali Linux安装配置JDK1.8
  20. 阿里云购买学生机镜像多种选择

热门文章

  1. VBA实战技巧精粹019:如何快速填充考场号及座号
  2. java excel 单元格换行_单元格里的文字换行_ExcelHome - 全球极具影响力的Excel门户,Office视频教程培训中心...
  3. linux系统开机grub命令修复方法,linux系统GRUB修复
  4. ztek usb转串口 linux,Z-tek驱动下载_Z-tek usb转串口驱动官方下载 - 系统之家
  5. 联想y7000笔记本触摸板开启快捷键_关闭笔记本触摸板四种方法【图文教程】
  6. 惠普1020打印机驱动安装教程
  7. 惠普HP Deskjet D1530 打印机驱动
  8. 同步 IO 和异步 IO
  9. Java web 实现视频在线播放的常用几种方法
  10. Python Tkinter 音乐播放器 Demo