Как правильно записать строку?

Доброго дня. Помогите разобраться где моя ошибка, как правильно записать в запрос данные. В таком вот виде работает
$data = <<<DATA
{
  "fromPlaceId": 8534308470000,
  "destinationAddress": "Москва, ул.Ленина, д. 15",
  "packages": [
    {
      "count": 1,
      "dimensions": {
        "weight": 1000,
        "length": 500,
        "height": 500,
        "width": 500
      },
      "price": 1000,
      "estimatedPrice": 1000
    }
  ]
}
DATA;


пробую сделать следующим образом
$parameters= [
    "fromPlaceId"=> 8534308470000,
    "destinationAddress"=> "Москва, ул.Ленина, д. 15",
    "packages"=>[
        "count"=> 1,
        "dimensions"=> [
            "weight"=> 1000,
            "length"=> 500,
            "width"=> 500,
            "height"=> 500,
        ],
        "price"=> 1000,
        "estimatedPrice"=> 1000
    ],
];

получаю ошибку
{"message":"Ошибки валидации модели","errorCode":"ValidationError","arguments":{"$":["'-' is invalid within a number, immediately after a sign character ('+' or '-'). Expected a digit ('0'-'9'). Path: $ | LineNumber: 0 | BytePositionInLine: 1."],"request":["The request field is required."]},"httpStatusCode":400}"
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
@werwolflg
У вас параметры неправильно заданы, здесь у вас packages задано массивом
"packages": [
    {
      "count": 1,
      "dimensions": {
        "weight": 1000,
        "length": 500,
        "height": 500,
        "width": 500
      },
      "price": 1000,
      "estimatedPrice": 1000
    }
  ]


А здесь просто один элемент:
"packages"=>[
        "count"=> 1,
        "dimensions"=> [
            "weight"=> 1000,
            "length"=> 500,
            "width"=> 500,
            "height"=> 500,
        ],
        "price"=> 1000,
        "estimatedPrice"=> 1000
    ],

Надо так объявить
"packages"=>[[
        "count"=> 1,
        "dimensions"=> [
            "weight"=> 1000,
            "length"=> 500,
            "width"=> 500,
            "height"=> 500,
        ],
        "price"=> 1000,
        "estimatedPrice"=> 1000]
    ],
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы