1

我正在使用这个 html 和 javascript 将 json 数据发送到我的 php 文件。 http://jsfiddle.net/ExpertSystem/9aWNj/

如何在 php 中从那里访问它以回显给定元素?

类似于以下内容:

$value = json_decode($_POST["newOrder"])
echo $value[1];

ETC

我不确定如何从中检索数据。

4

7 回答 7

1

这是一个 jsfiddle,如果您仍然迷路,请查看 javascript 应该如何:http: //jsfiddle.net/9aWNj/3/

这是您通过 php 解码的数据:

`stdClass Object ( [order] => Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 [5] => 7 [6] => 8 [7] => 9 [8] => 10 [9] => 11 [10] => 1 [11] => 12 ) )`

要访问它将是: 示例:

 $order_0=$value->order[0];
 $order_1=$value->order[1];

或者你对 json_decode 使用 true 会变成这样

 $order_0=$value['order'][0];
 $order_1=$value['order'][1];
于 2013-05-10T11:44:33.813 回答
1

试试这个,它可能会有所帮助

$FP=fopen(JSON_DIR."JsonArray.txt",'r');
$J_ARRAY=fread($FP,filesize(JSON_DIR."JsonArray.txt"));
$J_ARRAY=json_decode($J_ARRAY,JSON_FORCE_OBJECT);
于 2013-05-10T12:16:34.797 回答
0

Json_decode 默认以对象的形式返回结果,要获取数组,您需要将第二个参数设置为 true。

$data = json_decode($_POST["newOrder"], false); 将结果作为对象返回

用于打印对象

回声$数据->某事;

$data = json_decode($_POST["newOrder"], true); 以数组形式返回结果

用于打印阵列使用

回声 $data['something'];

于 2013-05-10T11:46:58.930 回答
0

尝试这个 :

$value = json_decode($_POST["newOrder"], true)
echo "<pre>";
print_r($value);

请注意第二个参数true,它将输出作为数组,否则它将是对象。

于 2013-05-10T11:38:46.423 回答
0

检查php手册。

json_decode默认返回一个对象。使用第二个参数 true 返回一个数组。

json_decode($_POST["newOrder"], true)
于 2013-05-10T11:40:19.720 回答
0

要像我想你可能想要的那样在 PHP 中使用 json,那么我建议你在 json_decode 函数中放置一个 true。

这将为您提供以下信息:

$json = json_decode($data,true); 
$json["sub-values"]["sub thing"];
于 2013-05-10T11:40:27.747 回答
0

为什么将 JSON 作为 POST 请求的主体发送?做的更简单:

$.ajax({
    url: "<url_to_php_file>",
    type: "POST",
    data: { order: JSON.stringify(dataArr) }
});

在服务器端使用:

$value = json_decode($_POST["order"]);
echo $value[1];
于 2013-05-10T11:41:18.297 回答