【问题标题】:JSON int key issue data e2e (invalid character '1' looking for beginning of object key string)JSON int 关键问题数据 e2e(寻找对象关键字符串开头的无效字符“1”)
【发布时间】:2018-05-07 16:18:21
【问题描述】:

我的应用使用 aerospike 将地图存储在其中一个垃圾箱中, 我使用endly 进行e2e 测试,它使用JSON 进行数据表示:

如何在 key 需要是 int 的情况下使用 JSON 填充数据存储? 由于 json 不允许 int key 我收到以下错误:invalid character '1' looking for beginning of object key string

这是我的数据工作流程(由回归工作流程调用)

@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"
  }
]

【问题讨论】:

    标签: json integration-testing aerospike end-to-end endly


    【解决方案1】:

    在您的示例中,@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"
      }
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      • 2022-07-20
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 2019-01-30
      • 1970-01-01
      相关资源
      最近更新 更多