API 服务 - JSON 模式

API 服务 - JSON 模式

此页面是 JSON 模式 对应的 API 说明,你可以查看 索引 来寻找需要的 API。

Crypto Mode For English Version Is Here
Index For English Version Is Here

JSON

  • JSON 类 API 请求的前缀为 http://api.forec.cn/json,你可以使用 GET 或 POST 方式传递数据。
  • 此模式提供对 JSON 格式数据的解析服务,服务器将对针对你的请求返回 纯文本 格式的数据。
  • 此 API 可指定以下字段:
    • json (必选):待解析的 JSON 格式字符串
    • key (可选):要获取的值对应的键
    • type (可选):要获取的值的类型

key 字段

  • 默认情况下,服务器会直接以字符串格式返回 JSON 格式中 key 键对应的内容。
    • 如果 JSON 字符串中不包含 key 指定的键,则服务器将返回 null
    • 如果 key 没有被设定,服务器会直接返回原始的 JSON 字符串。
1
2
3
4
5
6
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":"{1:2,3:4}"}}}&key=test1
{"test2":{"test3":"{1:2,3:4}"}}
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":"{1:2,3:4}"}}}&key=test
null
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":"{1:2,3:4}"}}}
{"test1":{"test2":{"test3":"{1:2,3:4}"}}}
  • key 字段也可以是一个通过 : 划分的列表。在上面的例子中,如果你想获取 test3 键对应的值,则可以将 key 字段设置为 test1:test2:test3
1
2
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":"{1:2,3:4}"}}}&key=test1:test2:test3
"{1:2,3:4}"

type 字段

  • 你可以 指定 type 字段来实现类型检查 。默认情况下,如果你没有指定 type,服务器会以字符串格式返回键对应的值。如果你设置了 type 字段,则服务器会尝试将值解析为你指定的 type 格式。如果解析成功,服务器会按照该格式通用的方式转换为字符串并返回;如果无法将值解析为 type 格式,则服务器返回 null
  • type 字段可以是如下类型之一,大小写不敏感。如果 type 字段不是如下类型,则将默认被视作 default 格式:
    • int
    • float
    • bool
    • string
    • stringarray
    • array
    • map
    • default(和不设置 type 字段相同)
  • intfloatbool 类型会将值以纯字符串格式返回。如果你能保证值的类型,那么你可以不设置 type 字段以忽视类型检查。如果类型检查成功,则这三种格式在设定 typedefault 模式下的返回结果相同,否则服务器返回 null
1
2
3
4
5
6
7
8
9
10
11
12
13
14
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":123}}}&key=test1:test2:test3
123
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":123}}}&key=test1:test2:test3&type=int
123
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":123.321}}}&key=test1:test2:test3&type=int
null
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":123}}}&key=test1:test2:test3&type=float
123.000000
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":123.321}}}&key=test1:test2:test3&type=float
123.321000
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":true}}}&key=test1:test2:test3&type=bool
true
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":123}}}&key=test1:test2:test3&type=bool
null
  • 如果你确定值的类型是字符串,你可以指定类型为 string。注意 string 格式和默认模式的返回值有一点差别,string 格式返回时不包括外围的引号。
1
2
3
4
5
6
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":teststring}}}&key=test1:test2:test3&type=string
null
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":"teststring"}}}&key=test1:test2:test3&type=string
teststring
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":"teststring"}}}&key=test1:test2:test3
"teststring"
  • stringarray 是一个字符串列表,下面的例子展示了 stringarray 模式和默认模式的差别。
1
2
3
4
5
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":["test", "testarray"]}}}
&key=test1:test2:test3&type=stringarray
[test,testarray]
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":["test", "testarray"]}}}&key=test1:test2:test3
["test","testarray"]
  • arraymap 的返回结果和默认模式类似,但服务器会先对值做类型检查。如果值无法被映射为列表或字典,则服务器返回 null,否则以字符串格式返回,但不包括外围引号。
1
2
3
4
5
6
7
8
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":"[1,2,3]"}}}&key=test1:test2:test3&type=array
[1,2,3]
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":"[1,2,3]"}}}&key=test1:test2:test3
"[1,2,3]"
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":"2:[1,2,3]"}}}&key=test1:test2:test3&type=map
2:[1,2,3]
> curl http://api.forec.cn/json?json={"test1":{"test2":{"test3":"2:[1,2,3]"}}}&key=test1:test2:test3
"2:[1,2,3]"
分享到