OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 399|回复: 0

【JSDuino】JSON文件读写

[复制链接]

  离线 

45

主题

115

帖子

1

精华

版主

Rank: 7Rank: 7Rank: 7

积分
612
金钱
612
注册时间
2013-9-23
在线时间
80 小时
发表于 2017-6-24 10:57:30 | 显示全部楼层 |阅读模式
正点原子公众号
本帖最后由 edmund 于 2017-6-24 11:01 编辑

    通过本节的学习,您将了解到如何使用JavaScript代码来实现JSON文件的解析和创建JSON文件。Json是一种非常轻量级的数据交换格式,由于其层次结构清晰、没有冗余数据,Json在网络数据交换中已经广泛使用。对于没有接触过Json的朋友,接下来的教程可以帮助您快速的掌握Json的基本知识和使用方法。


[JavaScript] 纯文本查看 复制代码
//获取JSON模块
var json = require("json");
//获取按键模块
var key = require("key");
//获取buffer模块
var buf = require("buffer");
//申请1000字节buffer
var data = buf.alloc(1000);
//json的根对象
var rootObj;

//按键的回调函数
function key_cb(name){
        print(name); //打印按键名称
        //解析一段Json文本,获取根对象
        rootObj = json.parse("{
        \"employees\": [
        { \"firstName\":\"Bill\" , \"lastName\":\"Gates\" },
        { \"firstName\":\"George\" , \"lastName\":\"Bush\" },
        { \"firstName\":\"Thomas\" , \"lastName\":\"Carter\" }
        ]
        }");
        //打印对象的类型
        print(json.type(rootObj));
        //获取根对象中employees的项目
        var item = json.item(rootObj, "employees");
        //打印获取的项目的类型,类型为数组类型
        print(json.type(item));
        //获取数组项目中第一个数组
        item = json.item(item, 0);
        //第一个数组中获取名称为firstName的项目
        item = json.item(item, "firstName");
        //打印firstName项目对应的值
        print(json.value(item));
        //将json对象转换为文件(默认格式化)
        json.toJson(rootObj, data);
        //打印文本内容
        print(data.toString());
        //将json对象转换为没有格式化的文件
        json.toJson(rootObj, "unformatted", data);
        //打印文本内容
        print(data.toString());
        //当Json使用完毕后,必须手动释放json所占用的内存空间
        json.delete(rootObj);
}

//注册按键回调函数
key.on(key_cb);

function loop(){
        while(true){

        }
}

loop();

实验结果
按下任意按键,打印相应的结果。


JSON文件读写.zip

20.74 KB, 下载次数: 112

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2017-11-19 16:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */