gpt4 book ai didi

javascript - javascript中的JSON序列化和php反序列化

转载 作者:行者123 更新时间:2023-12-02 16:52:54 24 4
gpt4 key购买 nike

您好,我在 javascript 中序列化的 JSON 反序列化时遇到问题。我在网页上有表单,每一行都是一个产品(表单中的输入、选择、复选框):

name, price, total_count, ...
name2, price2, total_count2, ...
...

我获取一个表单并使用 javascript 对其进行序列化(函数 ajaxLoad 是正常缩短的 jQuery 函数 $.ajax(...) 并且它可以在其他地方正常工作)

var form = $('#myForm');

form.submit(function(event){
event.preventDefault();
ajaxLoad(
form.attr('action'),
form.parent(),
{jsonData : JSON.stringify(form.serializeArray())}
);
});

在php中,接收到数据,我的代码如下:

$data = json_decode($jsonData, true);
$this->template->data = print_r($data,1);

它返回类似的内容:

Array
(
[0] => Array
(
[name] => products[0][cor_projectProduct_name]
[value] => 1ks Replika Kádnerova jáchymovského tolaru stand BJ
)

[1] => Array
(
[name] => products[0][url]
[value] => http://some-nice-url.cz
)

[2] => Array
(
[name] => products[0][cor_projectProduct_ean]
[value] =>
)

[3] => Array
(
[name] => products[0][cor_projectProduct_internalCode]
[value] =>
)

[4] => Array
(
[name] => products[0][cor_project_id]
[value] => 6
)

[5] => Array
(
[name] => products[0][cor_projectProduct_keywordAllowed]
[value] =>
)
...

但我想要对象数组。

我也尝试使用 form.serialize 序列化表单,但返回的结果更糟糕 - urlencoded 字符串,我无法解码。

当我尝试通过 POST 方法将数据作为数组发送,然后在 php 中从 $_POST 读取它时,它有效,但由于 POST 限制,一些数据丢失了,所以最好将其作为序列化字符串发布,但我不知道如何以及如何在 php 中反序列化它。

编辑:好吧,也许解释得很糟糕,我需要的结果是对象数组:

Array
(
[0] => stdClass Object
(
[cor_projectProduct_name] => 1ks Replika Kádnerova jáchymovského tolaru stand BJ
[url] => http://www.ceske-mince.cz/ceska_mincovna/1997/replika-kadnerova-jachymovskeho-tolaru-stand/
[cor_projectProduct_ean] =>
[cor_projectProduct_internalCode] =>
[cor_project_id] => 6
[cor_projectProduct_keywordAllowed] =>
...
)
[1] => stdClass Object
(
[cor_projectProduct_name] => 1ks Replika Kádnerova jáchymovského tolaru stand BJ
...
)
...

或者与关联数组相同,没关系

最佳答案

要获取对象而不是数组,请使用

$data = json_decode($jsonData, true);

而不是

$data = json_decode($jsonData, false);

演示:https://eval.in/207258

关于javascript - javascript中的JSON序列化和php反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26429906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com