Привет, добрый вечер,Есть ли максимальная длина для поля JSON?
Я пишу простой сайт электронной коммерции PHP, и я наткнулся на проблему, выполняя часть администрирования. В настоящее время я пытаюсь сделать запрос AJAX, чтобы заполнить некоторые поля на загрузочном модальном и что я иду получить данные из базы данных:
function editProductResponse($productId)
{
require 'app/database/Database.php';
require 'app/models/Product.php';
require 'app/models/ProductImage.php';
$product = new Product();
$object = $product->getProduct($productId);
$data = $object[0];
$array = [
"id" => $data->id,
"name" => $data->name,
//"description" => $data->description,
"price" => $data->price,
"stock" => $data->stock,
"sold" => $data->sold,
"added" => $data->added,
"type" => $data->type,
"subtype" => $data->subtype,
"discount" => $data->discount
];
echo print_r($data);
echo json_encode($array);
}
Это моя ajax.php
функции, которая получает, что фактические данные и это работает штраф (имей в виде комментируемую части массива не является ошибкой, я объясню, что приведенный ниже, и я делаю массив для целей отладки):
stdClass Object
(
[id] => 1
[name] => MSI Nightblade MI2-027XES Gaming
[description] => Forjado com a paix�o pelo jogo, o MSI Nightblade MI2 foi feito para aqueles que anseiam por uma experi�ncia de jogo imersiva. Com armazenamento em abund�ncia, refrigera��o eficiente e gr�ficos de alta qualidade, esta pequena m�quina gaming est� pronta para desbloquear a sua pr�xima aventura gaming.
[price] => 799
[stock] => 147
[sold] => 32
[added] => 2010-11-22
[type] => COMPUTER
[subtype] => DESKTOP
[discount] => 10
)
1{"id":1,"name":"MSI Nightblade MI2-027XES Gaming","price":799,"stock":147,"sold":32,"added":"2010-11-22","type":"COMPUTER","subtype":"DESKTOP","0":"discount => 10"}
Это мой ответ в журнале браузера , Кажется, все работает нормально, и это так. Так что моя проблема - это когда я фактически раскомментирую часть описания из массива. Если бы я сделать это, я получаю это:
stdClass Object
(
[id] => 1
[name] => MSI Nightblade MI2-027XES Gaming
[description] => Forjado com a paix�o pelo jogo, o MSI Nightblade MI2 foi feito para aqueles que anseiam por uma experi�ncia de jogo imersiva. Com armazenamento em abund�ncia, refrigera��o eficiente e gr�ficos de alta qualidade, esta pequena m�quina gaming est� pronta para desbloquear a sua pr�xima aventura gaming.
[price] => 799
[stock] => 147
[sold] => 32
[added] => 2010-11-22
[type] => COMPUTER
[subtype] => DESKTOP
[discount] => 10
)
1
Я оставил echo print_r
, чтобы избежать путаницы на обоих результатов.
После того, как я получил этот ответ, мне стало интересно, существует ли какой-либо предел для JSON или есть какие-то проблемы с типом данных SQL TEXT
, поскольку поле description
имеет этот тип.
В соответствии с просьбой, это ответ отладки фактического массива:
Array
(
[id] => 1
[name] => MSI Nightblade MI2-027XES Gaming
[description] => Forjado com a paix�o pelo jogo, o MSI Nightblade MI2 foi feito para aqueles que anseiam por uma experi�ncia de jogo imersiva. Com armazenamento em abund�ncia, refrigera��o eficiente e gr�ficos de alta qualidade, esta pequena m�quina gaming est� pronta para desbloquear a sua pr�xima aventura gaming.
[price] => 799
[stock] => 147
[sold] => 32
[added] => 2010-11-22
[type] => COMPUTER
[subtype] => DESKTOP
[discount] => 10
)
1
так ... в чем проблема? недопустимые символы? Нет, нет ... предел того, насколько большой может быть строка json. по крайней мере, без ограничений, которые могут отличаться от максимальной длины строки. –
проблема в том, что если я добавлю описание, то есть пустой ответ .. что я не могу понять, почему – EpaXapate
распечатать массив –