![](/img/trans.png)
[英]JSON invalid character '}' looking for beginning of object key string
[英]JSON int key issue data e2e (invalid character '1' looking for beginning of object key string)
我的應用程序使用Aerospike將Map存儲在其中一個容器中 , 最終用於e2e測試,該測試使用JSON進行數據表示:
如何在密鑰需要為int的情況下使用JSON填充數據存儲區? 由於json不允許使用int密鑰,因此出現以下錯誤:無效字符'1'尋找對象密鑰字符串的開頭
這是我的數據工作流程(由回歸工作流程調用)
@ data.yaml
defaults:
datastore: db1
pipeline:
register:
action: dsunit:register
config:
driverName: aerospike
descriptor: "tcp([host]:3000)/[namespace]"
parameters:
dbname: db1
namespace: test
host: 127.0.0.1
port: 3000
dateFormat: yyyy-MM-dd hh:mm:ss
prepare:
data:
action: nop
init:
- key = data.db.mydaaset
- mydaaset = $AsTableRecords($key)
setup:
action: dsunit:prepare
URL: regression/db1/data/
data: $mydaaset
這是我的用例級別的數據:
@ mydaaset.json
[
{
"Table": "myDataset",
"Value": [{
"id": "$id",
"created": "$timestamp.yesterday",
"fc":{
1191: "$timestamp.yesterday",
1192: "$timestamp.now",
}
}],
"AutoGenerate": {
"id": "uuid.next"
},
"Key": "${tagId}_myDataset"
}
]
在您的示例中,@ mydaaset.json文件是無效的JSON,因此您得到
'invalid character '1' looking for beginning of object key string'
解析錯誤
為了使用map [int] int bin在Aerospike中預先植入用例測試數據,可以使用AsInt UDF
@ mydaaset.json
[
{
"Table": "myDataset",
"Value": [{
"id": "$id",
"created": "$timestamp.yesterday",
"fc":{
"$AsInt(1191)": "$timestamp.yesterday",
"$AsInt(1192)": "$timestamp.now",
}
}],
"AutoGenerate": {
"id": "uuid.next"
},
"Key": "${tagId}_myDataset"
}
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.