ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

虚拟数据

blcook223 所有

用于生成虚拟JSON数据的Sublime Text插件

详细信息

安装

  • 总计 871
  • Win 499
  • Mac 240
  • Linux 132
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

阅读说明

资源
raw.githubusercontent.com

虚拟数据

一个用于生成虚拟JSON数据的Sublime Text插件。

将其转换为此种形式

screenshot of Sublime Text editor with open dummy data model file

变为这样

screenshot of Sublime Text editor with open dummy data results file

如何使用虚拟数据

安装虚拟数据

虚拟数据可通过包控制获取。

要手动安装,请在Sublime Text的Packages目录中执行命令git clone https://github.com/blcook223/DummyData.git

入门

要了解虚拟数据的使用方法,请尝试以下操作

  1. 打开一个新文件,并输入以下内容

    {
        "an integer": "{% integer 1 10 %}",
        "true or false": "{% boolean %}",
        "random selection": "{% random \"first string\" \"second string\" %}"
    }
    
  2. 右键点击,并选择“生成虚拟数据”。

  3. 在新打开的文件中查看结果。

虚拟数据通过解析虚拟数据模型工作,该模型是一个简单的JSON文件,可能包含函数标签。函数标签的格式为"{% function_name arg_1 arg_2 %}"。当虚拟数据解析一个模型时,它将生成一个新的JSON文件,用随机生成的虚拟JSON数据替换标签。

生成虚拟JSON

虚拟数据为Sublime Text添加了两个命令

  • 新建虚拟数据模型

此命令可以通过主菜单中的“工具 > 虚拟数据”或命令调色板中的“虚拟数据:新建模型”访问。这将打开一个包含样本虚拟数据模型的JSON文件,可以对其进行修改、保存并用于生成虚拟JSON。

  • 生成虚拟数据

当编辑JSON文件时,此命令将成为可用。它可以通过主菜单中的“工具 > 虚拟数据”、“虚拟数据:生成虚拟数据”命令调色板或右键菜单下的“生成虚拟数据”访问。此命令将解析当前编辑的JSON文件,包括您包含的任何函数标签,并生成一个新的包含虚拟JSON的文件。

虚拟数据函数

integer

{% integer [min], [max] %}

整型(integer)函数返回介于 minmax 值之间的随机整数,包括这两个值。如果没有提供参数,则 integer 随机返回 01

数字

{% number [min], [max], [decimals] %}

数字(number)函数返回介于 min 和 `max 值之间的随机十进制小数值,包括这两个值。如果没有提供参数,则 number 返回 0 到 1 之间的随机数。如果指定了 decimals,则该函数将返回指定的小数位数。

日期时间

{% datetime [format], [start], [end] %}

datetime 函数将返回在指定起始和结束日期时间之间的随机日期和时间。如果没有提供参数,则 datetime 将返回当前日期和时间。有关日期格式的详细信息,请参阅 Python datetime 文档。如果没有提供格式,输入和输出日期必须使用 '%m/%d/%Y %I:%M%p' 格式。

日期

{% date [format], [start], [end] %}

date 函数将返回在指定起始和结束日期之间的随机日期。如果没有提供参数,则 date 将返回今天的日期。有关日期格式的详细信息,请参阅 Python datetime 文档。如果没有提供格式,输入和输出日期必须使用 '%m/%d/%Y' 格式。

时间

{% time [format], [start], [end] %}

time 函数将返回在指定起始和结束时间之间的随机时间。如果没有提供参数,则 time 返回当前系统时间。有关日期格式的详细信息,请参阅 Python datetime 文档。如果没有提供格式,输入和输出日期必须使用 '%I:%M%p' 格式。

为了向后兼容性,当没有提供格式时,time 函数支持不零填充小时。

随机

{% random [arg1], [arg2], ... [argn] %}

random 参数随机选择一组提供的参数中有几个。使用 random 函数有两种方式

  • 带有参数,例如

"{% random \"a string\" \"another string\" %}"

如果提供了字符串参数,则 random 将从提供的参数中随机选择并返回一个字符串。

  • 无参数,例如

["{% random %}", "a string", 10, true, null, ["an", "array"], {"an": "object"}]

如果没有提供参数,则必须在数组中 {% random %} 标签必须是第一个元素。然后,random 函数将从列表中提供的其他 JSON 实体中随机选择。

重复

{% repeat [times] %}

repeat 函数生成一个遵循指定结构的 JSON 实体数组。必须将 {% repeat %} 标签放在数组的第一个元素中。例如,可以在 DummyData 模型中使用 repeat 函数如下

[
    "{% repeat 6 %}",
    {
        "name": "{% first_name %} {% last_name %}"
    }
]

此模型将产生类似以下结果

[
    {
        "name": "Terry Jones"
    },
    {
        "name": "Graham Chapman"
    },
    {
        "name": "Michael Palin"
    },
    {
        "name": "John Cleese"
    },
    {
        "name": "Eric Idle"
    },
    {
        "name": "Terry Gilliam"
    }
]

索引

{% index %}

index 函数返回一个表示 repeat 函数迭代次数的整数。只能在 repeat 结构(见上文)中使用 index 函数。

布尔值

{% boolean %}

boolean 函数返回随机的 truefalse 值。

邮政编码

{% postal %}

postal 函数返回一个随机五位数邮政编码。

电话号码

{% phone %}

phone 函数返回一个随机十个数字的电话号码,格式为: (XXX) XXX-XXXX

段落

{% paragraph %}

paragraph 函数返回一个“lorem ipsum”文本段。

句子

{% sentence %}

sentence 函数返回一个“lorem ipsum”句子。

城市

{{ 城市 }}

城市函数返回一个随机城市名称。

{{ 州 }}

函数返回一个随机美国州名称。

街道

{{ 街道 }}

街道函数返回一个随机街道名称。

国家

{{ 国家 }}

国家函数返回一个随机国家名称。

公司

{{ 公司 }}

公司函数返回一个虚构的随机公司名称。

{{ 姓 }}

函数返回一个随机姓。

{{ 名 }}

函数返回一个随机名。

用户ID

{{ 用户ID }}

用户ID函数将返回一个随机、唯一的字符串。

网址

{{ 网址 }}

网址函数将返回一个虚构的随机网址。

电子邮件

{{ 电子邮件 }}

电子邮件函数将返回一个虚构的随机电子邮件地址。