你好!
, " ", , — )
也许我们中的许多人已经制作了REST API,或者使用了别人的现成的。让我们看一下“不可思议”的技巧,这些技巧将帮助您使API脱颖而出。
白带
json中的所有值都是字符串,否则不是!
好吧,让我们来看看最简单的对象:
{
"stringValue" : "value",
"intValue": 123
}
这就是为什么123在这里设置一个数字,为什么会有这种混乱?让它成为一个字符串,反序列化器将弄清楚:
{
"stringValue" : "value",
"intValue": "123"
}
, ? … ?
{
"stringValue" : "value",
"intValue": "123",
"complexValue": {
"key": "value"
}
}
… ! -:
{
"stringValue" : "value",
"intValue": "123",
"complexValue": "{
\"key\": \"value\"
}"
}
? ? , ? , !
{
"stringValue" : "value",
"intValue": "123",
"complexValue": "{
\"key\": \"value\",
\"anotherComplexValue\": {
\"superKey\": \"megaValue\"
}
}"
}
, ! ! !… ? ? , , . complexValue ? , , , , .
"Key": Value — , ...
2-3 , ? :
[
25000,
"",
{
"key1": "value1",
"key2": "value2"
}
]
! ? ! ? . , !
[
25000,
"",
"{
\"key1\": \"value1\",
\"key2\": \"value2\"
}"
]
! ! , , 5 :
[
25000,
"",
[
"value1",
"value2"
]
]
! json , !
: — , ?
[
"",
"[
\"value1\",
\"value2\"
]",
"25000"
]
? 3- ? , , , . ? 25000, , . ? ? — , !
. …
- . , , . :
{
"queryType": "select",
"table": "lyudi",
"where": "name = AND zarplata > 15000"
}
! ! ? , , )
, ?
, !
… ! :
{
"query": "select * from lyudi where name = AND zarplata > 15000"
}
! ? ? ? , . ORM? ? -. MSSQL .
""! -
: API ? : ! ! rest' . : , ! !
, , , "", , , , )
, api vpn , : .
- , ! -!
JSON
. , ! , - :
{}
:
{
"key1": "value1",
"key2": 2
}
:
{
"key1": "value1",
"key2": 2,
"key3": {
"123": 456
}
}
, :
{
"objectAsArray": ["Vasya", 123, 456, "Piter"]
}
! !
! JSON : VARCHAR(MAX). !
!
dbf, ? !
{
"data": "Vasya 123 456 Piter "
}
10 , 5 , 5 , 20 . , ! , , !
!
— ? , , !
{
"data": [56, 61, 73, 79, 61, 20, 20, 20, 20, 20, 31, 32, 33, 20, 20, 34, 35, 36, 20, 20, 50, 69, 74, 65, 72, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
}
! :
{
"data": "[56, 61, 73, 79, 61, 20, 20, 20, 20, 20, 31, 32, 33, 20, 20, 34, 35, 36, 20, 20, 50, 69, 74, 65, 72, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]"
}
, !
P.S. "" P.S. ...
如果您觉得作者夸大和发明,那么...作者希望如此。但是,我不得不处理所有这些情况。让我们互相尊重,做好事,不要胡说八道。)感谢您的关注,希望在某些地方不仅悲伤,而且很有趣!