自然语言描述怎么让CodeBuddy生成定制化JSON数据
如何通过明确声明、约束字段层级与类型、强制排除干扰内容,让CodeBuddy输出标准JSON。
-
明确声明JSON格式需求
在提问初始就清晰写明“请输出标准JSON格式”,避免只说“给我一个JSON”或“用JSON表示”。CodeBuddy默认可能返回带解释性文字的混合内容,若不加这句声明,90%概率返回非纯JSON。
示例:请输出标准JSON格式,包含用户ID、昵称、注册时间(ISO 8601字符串)、是否VIP(布尔值)四个字段,示例数据为id=1001、nickname="阿哲"、registered_at="2024-03-15T09:22:17Z"、is_vip=true。
-
约束字段层级与类型
有两种方法:自然语言逐层描述嵌套关系,或提供最小可行样例。
- 自然语言逐层描述:说明外层是数组,每项是对象;对象里有一个名为profile的对象字段,profile内部含name(字符串)、age(整数)、tags(字符串数组)三个字段。如果只说“要有name和tags”,CodeBuddy可能把tags放在根级,导致结构错位。
- 提供最小可行样例:直接给出符合你要求的、带真实值的完整JSON片段作为模板,后面紧跟“请按此结构生成10条模拟数据”。这比纯文字描述更可靠,CodeBuddy会优先对齐你给的键名、缩进风格和值类型。
-
强制排除干扰内容
分为三步:添加硬性排除短语;若仍返回反引号则追加指令;检查标点符号。
- 在指令末尾添加硬性排除短语:加上“不要任何解释、注释、Markdown代码块包裹、前导文字或后缀说明,只返回可直接复制粘贴的JSON文本”。
- 若仍返回带```json包裹的内容,追加指令“去掉所有反引号和json字样,只保留花括号开始到结束的原始JSON字符”。
- 检查生成结果是否含中文引号、全角冒号或尾随逗号——这些会导致JSON.parse()报错。如有,必须手动替换为英文标点,CodeBuddy不会自动校验JSON语法有效性。
