SAP UI5 应用程序小技巧 - 一键将 JSON 对象导出成本地 json 文件

简介: SAP UI5 应用程序小技巧 - 一键将 JSON 对象导出成本地 json 文件

我们在调试 SAP UI5 应用时,有时会遇到想将 Chrome 开发者工具调试器里的某些 JSON 对象,保存到本地的场景。这样做可能出于多种原因,一种原因是 JSON 对象比较复杂,因此想导出到本地,用更专业的 JSON 查看器进行研究。还有一种原因是浏览器关闭之后,调试器里看到的数据也就消失了,导出到本地,可以方便自己之后研究,或者把文件发送给其他开发人员。


那么例如下图 2 和图 3 所示的这个名叫 data 的 JSON 对象,如何导出成本地文件呢?


一种可行但繁琐的办法是,在 Chrome 开发者工具 console 面板里,首先执行 JSON.stringfy(data), 将 data 变量转换成 JSON 字符串,然后本地新建一个 json 文件,手动把 JSON 字符串的内容拷贝进去,然后保存。

本文介绍一种高效的技巧:将图四所示的代码,拷贝到 Chrome 开发者工具 Console 面板,然后敲回车执行。

这段代码的可复制粘贴版本,可以从下面这个网址获得。

这段代码的作用,是给浏览器环境里的原生 console 对象,植入了一个新的 save 方法,该 save 方法接收两个输入参数,分别是待导出的 JSON 对象名和待导出的本地 JSON 文件名。

于是我们在 Console 面板里,输入 console.save(data, “1.json”), 就可以将 data 变量导出成本地 JSON 文件了。

然后就可以用专业的 JSON 查看器,比如 JSON Viewer 来深入研究这个 JSON 对象的组成结构了。

这段代码是一段匿名自执行函数(Immediately Invoked Function Expression,简称 IIFE), 因其具备私有作用域,能够防止变量污染,实现作用域隔离和信息隐藏,因此这种编程在 SAP UI5 框架源代码中使用广泛。


匿名自执行函数在JavaScript中是一种常见的模式,也被称为立即执行函数表达式(Immediately Invoked Function Expression,IIFE)。它的基本形式如下:

`(`function`()` {  
`// code here`  
`})``(`);  

匿名自执行函数是一个包裹在圆括号内的函数表达式,后跟另一对圆括号,形成一个立即执行的函数。由于函数是匿名的,因此没有函数名。匿名自执行函数通常被用来创建一个独立的作用域,防止变量泄露到全局作用域中,并且执行其中的代码。


匿名自执行函数的用法多种多样,常见的情况包括:


  • 创建私有作用域: 在函数内部声明的变量和函数只能在函数内部访问,不会污染全局命名空间。
  • 防止变量污染: 防止函数内部的变量和函数与外部作用域的变量和函数发生冲突。
  • 模块模式: 将一组相关的函数和变量组织在一个匿名自执行函数中,形成一个模块,从而实现信息隐藏和封装。
  • 立即执行: 函数定义之后紧跟一对括号,立即执行函数内部的代码。


相信本文的这个实际例子,能让大家对 JavaScript 里的匿名自执行函数,有一个直观的理解。

相关文章
|
1月前
|
JSON 程序员 数据格式
深入探索 “JSON for Modern C++“:安装、构建与应用
深入探索 “JSON for Modern C++“:安装、构建与应用
40 0
|
24天前
|
JSON JavaScript 前端开发
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(中)
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(中)
|
19天前
|
XML JSON JavaScript
Java中XML和JSON的比较与应用指南
本文对比了Java中XML和JSON的使用,XML以自我描述性和可扩展性著称,适合结构复杂、需验证的场景,但语法冗长。JSON结构简洁,适用于轻量级数据交换,但不支持命名空间。在Java中,处理XML可使用DOM、SAX解析器或XPath,而JSON可借助GSON、Jackson库。根据需求选择合适格式,注意安全、性能和可读性。
27 0
|
25天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
1月前
|
XML JSON API
深入解析C++ JSON库:nlohmann::json:: parse的内部机制与应用
深入解析C++ JSON库:nlohmann::json:: parse的内部机制与应用
53 0
|
1月前
|
JSON 前端开发 API
Python中的JSON模块:从基础到高级应用全解析
【2月更文挑战第3天】 Python中的JSON模块:从基础到高级应用全解析
82 6
|
1月前
|
JSON 数据处理 API
盘点Python中4种读取JSON文件和提取JSON文件内容的方法
盘点Python中4种读取JSON文件和提取JSON文件内容的方法
318 0
|
1月前
|
存储 JSON JavaScript
Python中读写(解析)JSON文件的深入探究
Python中读写(解析)JSON文件的深入探究
35 0
|
1月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
27 0
|
1月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
15 0