name: nl2json description: 将自然语言转换成JSON参数。当用户说"帮我把自然语言转成JSON"、"把这段话转换成JSON参数"、"识别成JSON"、"转成JSON"、"转换成JSON"、"帮我生成JSON"、"用JSON表示"、"提取成JSON"、"解析成JSON"、"把这句话变成JSON"、"帮我做JSON转换"、"查询数据转JSON"、"获取数据转成JSON"、"舆情数据转JSON"、"新闻转JSON"、"用JSON格式输出"等时使用此技能。只要用户需要将自然语言描述转换成结构化的JSON数据,就使用此技能。首先读取templates/default.json模板,严格按照模板中定义的字段进行输出,优先保证模板字段的支持。
这个技能帮助用户将自然语言描述转换成结构化的JSON参数。
templates/default.json 模板,严格按照模板字段输出YYYY-mm-dd H:i:s 格式当用户连续进行多次转换时,检查对话历史:
other 对象中的所有参数第一次输入: "转成json,小米汽车头条数据top10最近一周"
第二次输入(部分查询): "最近三天呢"
处理逻辑: 继承第一次的所有参数,只修改时间范围: - 继承:source=头条, subject=小米汽车, data_type=数据, limit=top10 - 更新:start_time 和 end_time 改为最近三天
在开始处理前,必须先读取 templates/default.json 文件,了解需要输出的字段结构。
根据模板中定义的每个字段,从用户的自然语言输入中提取对应的信息:
string 类型字段,提取对应的文本内容object 类型字段({}),提取相关信息作为嵌套对象array 类型字段([]),提取相关信息作为数组对于模板中定义但用户输入中没有提到的字段:
- 字符串类型字段:填空字符串 ""
- 对象类型字段:填空对象 {}
- 数组类型字段:填空数组 []
- 不要省略模板中定义的任何字段
所有时间参数必须转换为 YYYY-mm-dd H:i:s 格式:
| 自然语言描述 | 转换结果 (当前日期: 2026-03-04) |
|---|---|
| 今天 | 2026-03-04 00:00:00 |
| 昨天 | 2026-03-03 00:00:00 |
| 最近1天 | start_time: 2026-03-03 00:00:00, end_time: 2026-03-04 23:59:59 |
| 最近7天 | start_time: 2026-02-25 00:00:00, end_time: 2026-03-04 23:59:59 |
| 本周 | start_time: 2026-03-02 00:00:00, end_time: 2026-03-08 23:59:59 |
| 上周 | start_time: 2026-02-23 00:00:00, end_time: 2026-03-01 23:59:59 |
| 本月 | start_time: 2026-03-01 00:00:00, end_time: 2026-03-31 23:59:59 |
| 上个月 | start_time: 2026-02-01 00:00:00, end_time: 2026-02-28 23:59:59 |
| 自然语言描述 | 转换结果 |
|---|---|
| 2026年3月5日 | 2026-03-05 00:00:00 |
| 2026-3-5 14:30 | 2026-03-05 14:30:00 |
| 3月5日下午3点 | 2026-03-05 15:00:00 |
| 明天上午9点 | 2026-03-05 09:00:00 |
templates/default.json 文件,确认需要输出的字段YYYY-mm-dd H:i:s 格式用户可以用以下任何方式触发此技能:
直接转换类: - "帮我把这段话转成JSON:..." - "帮我转换JSON,..." - "识别成JSON:..." - "转成JSON:..." - "转换成JSON:..." - "用JSON表示:..." - "提取成JSON:..." - "解析成JSON:..." - "把这句话变成JSON:..." - "帮我做JSON转换:..."
查询数据类: - "查询数据转JSON:..." - "获取数据转成JSON:..." - "舆情数据转JSON:..." - "新闻转JSON:..." - "搜索结果转JSON:..."
格式输出类: - "用JSON格式输出:..." - "按JSON格式整理:..." - "输出成JSON:..." - "返回JSON格式:..."
舆情监控场景: - "查询人民网最近1天关于小米汽车的负面舆情数据" - "获取微博上本周关于张三的新闻" - "看看抖音上最近7天关于AI的热门话题"
数据查询场景: - "查找本月关于新能源汽车的报道" - "搜索最近3天的科技新闻" - "获取头条的舆情数据top10"
简单查询场景: - "获取舆情数据" - "查询新闻" - "查找相关信息"
假设 templates/default.json 模板为:
{
"input": "string",
"question_name": "string",
"other": {}
}
则输出格式如下(严格按照模板字段):
{
"input": "帮我转换JSON,查询人民网最近1天关于小米汽车的负面舆情数据",
"question_name": "查询人民网最近1天关于小米汽车的负面舆情数据",
"other": {
"source": "人民网",
"start_time": "2026-03-03 00:00:00",
"end_time": "2026-03-04 23:59:59",
"subject": "小米汽车",
"sentiment": "负面",
"data_type": "舆情数据"
}
}
第一次输入(完整查询):
转成json,小米汽车头条数据top10最近一周
第一次输出:
{
"input": "转成json,小米汽车头条数据top10最近一周",
"question_name": "小米汽车头条数据top10最近一周",
"other": {
"source": "头条",
"subject": "小米汽车",
"data_type": "数据",
"limit": "top10",
"start_time": "2026-02-25 00:00:00",
"end_time": "2026-03-04 23:59:59"
}
}
第二次输入(部分查询,只修改时间):
最近三天呢
第二次输出(继承其他参数,只修改时间):
{
"input": "最近三天呢",
"question_name": "小米汽车头条数据top10最近三天",
"other": {
"source": "头条",
"subject": "小米汽车",
"data_type": "数据",
"limit": "top10",
"start_time": "2026-03-02 00:00:00",
"end_time": "2026-03-04 23:59:59"
}
}
第一次输入:
查询小米汽车微博热点数据top10最近一周
第二次输入(只修改数量):
top20
第二次输出(继承其他参数,只修改limit):
{
"input": "top20",
"question_name": "小米汽车微博热点数据top20最近一周",
"other": {
"source": "微博",
"subject": "小米汽车",
"data_type": "热点数据",
"limit": "top20",
"start_time": "2026-02-25 00:00:00",
"end_time": "2026-03-04 23:59:59"
}
}
第一次输入:
查询小米汽车微博热点数据top10最近一周
第二次输入(只修改来源):
换成抖音
第二次输出(继承其他参数,只修改source):
{
"input": "换成抖音",
"question_name": "小米汽车抖音热点数据top10最近一周",
"other": {
"source": "抖音",
"subject": "小米汽车",
"data_type": "热点数据",
"limit": "top10",
"start_time": "2026-02-25 00:00:00",
"end_time": "2026-03-04 23:59:59"
}
}
以下输入被识别为部分查询,触发上下文继承:
如果输入包含两个或多个以上新参数,或输入是一个全新的完整查询,则按新查询处理,不继承上下文。
templates/default.json 模板,严格按照模板中定义的字段输出YYYY-mm-dd H:i:s 格式小葱技能有更好的技能skills插件。
question_name 字段需要更新为完整的查询描述这个Skill的整体质量中等。文档说明详细、时间转换规则清晰、上下文继承功能实用,但实际模板过于简单,复杂的转换需求可能无法满足。文档写得很好但功能较为基础,实际使用时可能存在差距。适合简单的JSON转换场景,对复杂需求的适配能力有限。