一、核心概念铺垫

(一)为什么需要JSON?——程序通信的“通用语言”

在产品开发中,设备与云端、设备与设备之间需要传递数据(比如刷抖音时加载视频、发消息时传递内容),但普通格式存在明显缺陷:

  • Word/PPT:体积大、解析复杂,不适合程序自动处理。
  • Excel:需要依赖Office套件,跨平台兼容性差。
  • TXT:无结构化,无法明确数据的含义(比如无法区分“18”是年龄还是成绩)。
  • CSV:虽结构化,但需通过列名匹配数据,查找效率低,无明确的字段说明。

JSON的核心优势

  1. 既是纯文本,无需特殊软件解析;
  1. 结构化清晰,每个数据都有明确的“字段名”(说明数据含义);
  1. 跨平台、跨语言兼容,是设备/云端通信的首选格式。

(二)API是什么?——程序间的“写信通信”

API(应用程序接口)是不同程序之间通信的规则和方式,类比“写信”的逻辑:

写信流程

API请求对应逻辑

知道收件人地址

明确API的请求地址(服务器地址+具体服务路径)

写清楚信件内容

按照API要求的格式构造请求体(需传递的指令/数据)

贴邮票(证明合法)

携带认证信息(API Key),证明调用权限

邮局投递

通过HTTP协议(如POST方法)发送请求

收件人回信

服务器验证通过后,返回响应结果(如大模型的回答)

核心结论:调用大模型API,本质是按照大模型提供的“通信规则”(API文档),构造合法请求并发送,最终获取响应。

二、JSON详解:数据格式与使用方法

(一)JSON的基本结构

  1. 整体格式:大部分JSON以{}(花括号)包裹,内部是“字段名: 值”的键值对组合,键值对之间用英文逗号分隔。

JSON
{
  "字段名1": "值1",
  "字段名2": "值2",
  "字段名3": "值3"
}

  1. 核心概念:
  • 字段名:类似Excel的表头(如“姓名”“年龄”),用英文双引号包裹,明确数据的含义。
  • :字段对应的数据,支持多种类型(下文详解)。

(二)JSON支持的数据类型

数据类型

英文名称

格式要求

示例

字符串

String

用英文双引号包裹,可包含文本、数字、链接等

"姓名": "李雷"、"图片链接": "https://xxx.jpg"

数字

Number

无需引号包裹,支持整数、小数

"年龄": 20、"成绩": 95.5

数组

Array

用英文中括号[]包裹,元素间用英文逗号分隔,元素可是任意类型

"爱好": ["篮球", "编程", 18]

对象

Object

用英文花括号{}包裹,内部是键值对,可嵌套其他对象/数组

"用户信息": {"姓名": "韩梅梅", "年龄": 19}

布尔值

Boolean

无引号包裹,仅支持true(是)或false(否)

"是否成年": true

空值

Null

无引号包裹,表示“无数据”

"备注": null

(三)JSON语法注意事项

  1. 字段名必须用英文双引号包裹(不可用中文引号或单引号)。
  1. 键值对之间、数组元素之间必须用英文逗号分隔(不可用中文逗号)。
  1. 字符串类型的值必须用英文双引号包裹,数字、布尔值、null无需包裹。
  1. 不可出现多余的逗号(如最后一个键值对后加逗号)。

(四)JSON数据提取方法

假设我们有一个JSON数据,命名为data

JSON
{
  "姓名": "李雷",
  "年龄": 20,
  "爱好": ["篮球", "编程"],
  "联系方式": {
    "电话": "123456789",
    "邮箱": "lilei@xxx.com"
  }
}

  1. 提取基础字段(字符串/数字):
  • JavaScript中:data.姓名 → 结果:"李雷";data.年龄 → 结果:20
  • 核心逻辑:JSON变量名.字段名
  1. 提取数组元素(数组有序,从0开始计数):
  • 提取爱好中的第二个元素(编程):data.爱好[1] → 结果:"编程"
  • 核心逻辑:JSON变量名.数组字段名[索引](索引从0开始)
  1. 提取嵌套对象字段:
  • 提取邮箱:data.联系方式.邮箱 → 结果:"lilei@xxx.com"
  • 核心逻辑:JSON变量名.外层字段名.内层字段名(逐层拆解)

四、API请求核心组成

一个完整的大模型API请求包含两个关键部分:请求头(Header) 和请求体(Body),需严格遵循API文档要求构造。

(一)请求头(Header):身份验证与通信规则

请求头相当于“信件的信封+邮票”,用于告诉服务器:“我是谁”“我们用什么格式通信”。

  1. 核心参数(大模型API通用):

参数名

作用

示例值

Content-Type

声明请求体格式

application/json(JSON格式)

Authorization

身份认证(API Key)

Bearer sk-xxxxxxxxxxxxxxxxxx(Key为申请的密钥)

  1. 关键注意事项:
  • API Key是唯一身份凭证,相当于“银行卡密码”,不可泄露给他人。
  • 申请Key后需立即复制保存,一旦关闭申请页面,将无法再次查看完整Key(需重新创建)。
  • Authorization格式固定:Bearer + 空格 + API Key(不可遗漏空格)。

(二)请求体(Body):核心通信内容

请求体相当于“信件的正文”,包含向大模型发送的指令(提示词)、模型选择等参数,必须为JSON格式(与请求头Content-Type一致)。

以Kimi API为例,请求体示例:

JSON
{
  "model": "kimi-pro", // 模型名称(需按API文档指定)
  "messages": [
    {
      "role": "user", // 角色(user=用户,assistant=助手)
      "content": "讲个笑话" // 提示词(核心指令)
    }
  ],
  "temperature": 0.7 // 随机性参数(0-1,值越高越随机)
}

核心参数说明(零基础先掌握这3个):

  • model:指定调用的大模型(如kimi-pro、gpt-3.5-turbo等,需按API文档填写)。
  • messages:对话历史数组,每个元素是一个对象,包含role(角色)和content(内容)。
  • content:用户的核心指令(提示词),如“讲个笑话”“计算1+1等于多少”。

五、实战操作:用Fox API调用Kimi大模型

(一)准备工具与资源

  1. 下载API调试工具:Fox API(建议下载客户端,避免网页版报错)。
  1. 获取Kimi API相关信息:
  • API文档地址(需参考官方提供)。
  • 申请API Key:进入Kimi用户中心→创建API Key→命名(如“演示”)→复制Key并保存。
  1. 充值API额度(Kimi需充值,阿里部分模型有免费额度)。

(二)操作步骤(共6步)

步骤1:新建API接口

打开Fox API客户端→点击“新建接口”→输入接口名称(如“Kimi笑话请求”)。

步骤2:设置请求方法与地址

  1. 请求方法:选择POST(大模型API通用,少数例外需看文档)。
  1. 请求地址:从Kimi API文档复制完整地址(含“根目录+服务路径”,如https://api.kimi.moonshot.cn/v1/chat/completions)→ 粘贴到Fox API的“地址栏”。

步骤3:配置请求头(Header)

  1. 在Fox API中找到“Header”选项卡→点击“添加参数”。
  1. 第一个参数:
  • 参数名:Content-Type
  • 参数值:application/json
  1. 第二个参数:
  • 参数名:Authorization
  • 参数值:Bearer sk-xxxxxxxxxxxxxxxxxx(将sk-xxx替换为你申请的API Key,注意Bearer后加空格)。
  1. 确认无多余参数,保存Header配置。

步骤4:配置请求体(Body)

  1. 在Fox API中找到“Body”选项卡→选择“JSON”格式(必须与Header一致)。
  1. 从Kimi API文档复制请求体示例→粘贴到JSON编辑框。
  1. 修改提示词:将content的值改为你的需求(如“讲个笑话”“解释什么是API”)。
  1. 语法校验:
  • 检查所有引号、逗号是否为英文。
  • 检查键值对是否完整(无遗漏冒号、逗号)。
  • 示例修改后:

JSON
{
  "model": "kimi-pro",
  "messages": [
    {
      "role": "user",
      "content": "讲个关于程序员的笑话"
    }
  ],
  "temperature": 0.7
}

步骤5:发送请求并查看响应

  1. 点击Fox API中的“发送”按钮→等待模型响应(几秒到十几秒)。
  1. 成功响应示例(JSON格式):

JSON
{
  "id": "chat-xxxxxxxxxxxx",
  "object": "chat.completion",
  "created": 1699999999,
  "model": "kimi-pro",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "程序员问产品经理:'这个需求能实现吗?' 产品经理说:'能,就像把大象放进冰箱里一样简单。' 程序员:'那得三步:打开冰箱、放进大象、关上冰箱?' 产品经理:'不,我要你把冰箱做成能容纳大象的尺寸,还要自动开门、自动关门,并且大象进去后要发个朋友圈。'"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 15,
    "completion_tokens": 80,
    "total_tokens": 95
  }
}

  1. 提取结果:从choices[0].message.content中获取大模型的回答。

步骤6:常见错误排查

错误现象

可能原因

解决方案

认证失败

API Key错误/遗漏Bearer空格

检查Key是否正确,确认Authorization格式为“Bearer + 空格 + Key”

格式错误

中文逗号/引号、缺少逗号

将所有标点改为英文,检查JSON语法(可使用在线JSON校验工具)

地址错误

缺少服务路径(仅填了根目录)

从API文档复制完整地址(含门牌号,如/v1/chat/completions

无响应

额度不足

充值API额度后重试

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐