You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mockoon跨数据桶获取数据:解决dataRaw与oneOf返回异常问题

Mockoon数据桶数据获取及oneOf函数兼容问题

在Mockoon数据桶中使用dataRaw获取数据时,得到的是[object Object]数组;使用data虽能正常获取数据,但无法兼容oneOf这类数组辅助函数——dataRaw搭配oneOf返回[object Object],data搭配oneOf则返回null。请问如何获取实际值?

数据桶配置

addresstypes 数据桶

[
    {
      "publicId": "{{guid}}",
      "title": "School"
    },
    {
      "publicId": "{{guid}}",
      "title": "Shopcenter"
    },
    {
      "publicId": "{{guid}}",
      "title": "Highway"
    },
    {
      "publicId": "{{guid}}",
      "title": "Home"
    }
]

address 数据桶

[
  {{# repeat 50}}
    {
      "publicId": "{{guid}}",
      "title": "{{lorem 3}}",
      "street":"{{street}}", 
      "city": "{{city}}", 
      "country":"{{country}} ({{countryCode}})", 
      "zipcode":"{{zipcode}}",
      "postcode":"{{postcode}}",
      "lat":"{{lat}}",
      "long":"{{long}}",
      "type": {{oneOf (dataRaw 'addressetypes')}}
    }
  {{/repeat}}
]

环境信息

  • Mockoon版本:3.1.0
  • 系统/系统版本:Ubuntu 22.04.2 LTS

解决方法

  1. 修正数据桶名称拼写错误
    你在address数据桶的type字段中,调用dataRaw时写的是addressetypes,但实际数据桶名称是addresstypes(少了一个s),这是核心错误。先将代码修正为:

    "type": {{oneOf (dataRaw 'addresstypes')}}
    
  2. data配合oneOf的正确用法
    若使用data函数,修正拼写后直接传入oneOf即可,Mockoon会正确解析数组并返回随机元素:

    "type": {{oneOf (data 'addresstypes')}}
    
  3. 保证JSON格式正确
    oneOf返回的是对象,模板引擎会自动将其序列化为JSON字符串,无需额外添加引号,否则会导致JSON格式错误。

修正后,type字段会随机返回addresstypes数据桶中的一个完整对象,例如:

"type": {"publicId": "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv", "title": "School"}

内容的提问来源于stack exchange,提问作者ARiyou Jahan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 09:22:52