json文件的读取_c语言文件读取

json文件的读取_c语言文件读取JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。有关于json的相关信息,可参考:json百度百科。1、HTML文档<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>R

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。有关于json的相关信息,可参考:json百度百科。

1、HTML文档

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Read Json File</title>

    <link href="https://fonts.proxy.ustclug.org/css?family=Faster+One" rel="stylesheet">
    <link rel="stylesheet" href="css/style.css">
</head>
<body>

<header>

</header>

<section>

</section>

<script src="js/readJSON.js"></script>
</body>
</html>

2、js文档:readJSON.js

    //获取<header>和</section>的引用
    let header = document.querySelector('header');
    let section = document.querySelector('section');

    //保存一个json文件访问的URL作为一个变量
    let requestURL = 'json/superheroes.json';
    //创建一个HTTP请求对象
    let request = new XMLHttpRequest();
    //使用open()打开一个新请求
    request.open('GET', requestURL);
    //设置XHR访问JSON格式数据,然后发送请求
    // request.responseType = 'json';
    //设置XHR访问text格式数据
    request.responseType = 'text';
    request.send();

    //处理来自服务器的数据
    request.onload = function() {
        let superHeroesText = request.response;
        let superHeroes = JSON.parse(superHeroesText);
        // let superHeroes = request.response;
        populateHeader(superHeroes);
        showHeroes(superHeroes);
    };

    //对header进行定位
    function populateHeader(jsonObj) {
        let myH1 = document.createElement('h1');
        myH1.textContent = jsonObj['squadName'];
        header.appendChild(myH1);

        let myPara = document.createElement('p');
        myPara.textContent = 'Hometown: ' + jsonObj['hometown'] + ' //Formed: ' + jsonObj['formed'];
        header.appendChild(myPara);
    }

    function showHeroes(jsonObj) {
        //用heroers存储json文件里menbers的信息
        let heroes = jsonObj['members'];

        for (let i = 0; i < heroes.length; i++) {
            //创建一系列页面元素
            let myArticle = document.createElement('article');
            let myH2 = document.createElement('h2');
            let myPara1 = document.createElement('p');
            let myPara2 = document.createElement('p');
            let myPara3 = document.createElement('p');
            let myList = document.createElement('ul');

            myH2.textContent = heroes[i].name;
            myPara1.textContent = 'Secret identity: ' + heroes[i].secretIdentity;
            myPara2.textContent = 'Age: ' + heroes[i].age;
            myPara3.textContent = 'Superpowers:';

            let superPowers = heroes[i].powers;
            for(let j = 0; j < superPowers.length; j++) {
                let listItem = document.createElement('li');
                listItem.textContent = superPowers[j];
                myList.appendChild(listItem);
            }

            myArticle.appendChild(myH2);
            myArticle.appendChild(myPara1);
            myArticle.appendChild(myPara2);
            myArticle.appendChild(myPara3);
            myArticle.appendChild(myList);
            section.appendChild(myArticle);
        }
    }

3、CSS文档:readJSONStyle.css

html, body {
    margin: 0;
}

html {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    height: 100%;
}

body {
    overflow: hidden;
    height: inherit;
}

h1 {
    font-size: 2rem;
    letter-spacing: -1px;
    position: absolute;
    margin: 0;
    top: -4px;
    right: 5px;

    color: transparent;
    text-shadow: 0 0 4px white;
}

4、json文件:heros.json

{
  "squadName" : "Super hero squad",
  "homeTown" : "Metro City",
  "formed" : 2016,
  "secretBase" : "Super tower",
  "active" : true,
  "members" : [
    {
      "name" : "Molecule Man",
      "age" : 29,
      "secretIdentity" : "Dan Jukes",
      "powers" : [
        "Radiation resistance",
        "Turning tiny",
        "Radiation blast"
      ]
    },
    {
      "name" : "Madame Uppercut",
      "age" : 39,
      "secretIdentity" : "Jane Wilson",
      "powers" : [
        "Million tonne punch",
        "Damage resistance",
        "Superhuman reflexes"
      ]
    },
    {
      "name" : "Eternal Flame",
      "age" : 1000000,
      "secretIdentity" : "Unknown",
      "powers" : [
        "Immortality",
        "Heat Immunity",
        "Inferno",
        "Teleportation",
        "Interdimensional travel"
      ]
    }
  ]
}

实现效果:

json文件的读取_c语言文件读取

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182985.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。

    Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。本系列博客学习由非官方人员半颗心脏潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。1、Esp8266之搭建开发环境,开始一个“hellowworld”串口打印。2、Esp8266之利用GPIO开始使用按钮点亮你的“第一盏灯”。3、Esp8266之利用“软件定时器”定时0.5秒闪烁点亮一盏LED。4、Esp8266之了解P

    2022年5月30日
  • SPI通讯协议介绍「建议收藏」

    SPI通讯协议介绍「建议收藏」来到SPI通讯协议了。废话两句,“SPI很重要”,这是我在学校时候听那些单片机开发工程师说的。出来实习,到后来工作,确实如此,SPI的使用很常见,那么自然重要咯。  SPI(Serialperipheralinterface)即串行外围设备接口,是由Motorola首先在其MC68HCxx系列单片机上定义的,基于高速全双工总线的通讯协议。(又是高速,而且全双工,确实强大)被广泛应用于ADC、LC

    2022年10月15日
  • sop流程图模板_这是一份标准作业流程SOP详解,附流程图绘制规范,不愁不会画!…「建议收藏」

    sop流程图模板_这是一份标准作业流程SOP详解,附流程图绘制规范,不愁不会画!…「建议收藏」注:资料来源百度、档即用网,品质人生质量开讲平台搜集、整理、编辑,仅供学习交流所用,请勿做其他用途!小编辛苦整理,转载请注明出处。什么是SOP?StandardOperationProcedure所谓SOP,是StandardOperationProcedure三个单词中首字母的大写,即标准作业程序。是以文件的形式描述作业员在生产作业过程中的操作步骤和应遵守的事项;是作业员的作业指导书…

    2022年5月26日
  • Linux下PyTorch、CUDA Toolkit 及显卡驱动版本对应关系(附详细安装步骤)

    Linux下PyTorch、CUDA Toolkit 及显卡驱动版本对应关系(附详细安装步骤)Linux下PyTorch、CUDAToolkit及显卡驱动版本对应关系(附详细安装步骤)

    2022年6月16日
  • zip文件后缀改成什么可以用_zip格式转rar格式

    zip文件后缀改成什么可以用_zip格式转rar格式案例2,批量修改文件扩展名\后缀名1上面介绍的是只修改某一类的后缀名,那么如果我整个文件夹下面的所有类型的文件都要修改怎么办呢?如下图什么类型的文件都有呢【强烈推荐】如何批量修改文件后缀名?超详细2其实也很简单,只需要修改一个参数就好了。如下图找到刚刚那个bat文件,右键编辑–或者用记事本打开。(注意:在*之前有一个英文的空格把命令改成,ren.*.gif  格式 ren空格星点星空格星点文件后缀名【强烈推荐】如何批量修改文件后缀名?超详细【强烈推荐】如何批

    2022年10月12日
  • floor报错注入原理_sql报错注入

    floor报错注入原理_sql报错注入floor()报错注入准确地说应该是floor,count,groupby冲突报错是当这三个函数在特定情况一起使用产生的错误。首先看经典的floor注入语句:andselect1from(selectcount(*),concat(database(),floor(rand(0)*2))xfrominformation_schema.tablesgroupbyx)a)第一眼看…

    2022年9月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号