我在客户端有这个JSON对象:
我将ajax JSON对象发送到Controller,如:
$.ajax({
type: "GET",
url: url,
data: {sToken: token.id, reference: r, newserials: jsonObj},
dataType: "json",
success: function(data)
{ ... ... etc.
然后在控制器我抓住它:
$newserials = $request->newserials;
我现在需要的是将$newserials
转换为雄辩的对象,因此我想使用$newserials
之类的:
foreach ($newserials as $new) {
$serial = $new->serial;
$pin = $new->pin;
}
那么我如何将JSON转换为雄辩并以上述方式使用?
该应用程序是实时的,我无法测试这就是为什么我要求帮助解决这些微不足道的问题。对不起。
更新: 我将newserial作为字符串发送:
var newserials = JSON.stringify(jsonObj);
其余代码如你所知:
$newserials = json_decode(json_encode($request->newserials));
但现在我收到了错误:
尝试在foreach循环中获取非对象的属性!
答案 0 :(得分:1)
Laravel自动json_decode
来自json请求的输入,但它将对象解码为关联数组而不是对象。如果你真的想要一个对象,你只需要再次编码和解码。
$newserials = json_decode(json_encode($request->newserials));
但请注意,这只是一个简单的PHP stdClass
对象,我假设它实际上就是您所需要的。这不是一个雄辩的模型。