Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Json_为.post编码?_Php_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Php Json_为.post编码?

Php Json_为.post编码?,php,javascript,jquery,ajax,json,Php,Javascript,Jquery,Ajax,Json,在进行.post查询时,有人能解释一下json_编码的目的吗 这是我经常在别人的编码中看到的 .post php脚本 ... ... echo json_encode($a); ... ... $a = array("foo", "bar", "hallo", "world"); $string=implode(',',$a) in my php script return $string; 我的意思是,如果

在进行.post查询时,有人能解释一下json_编码的目的吗

这是我经常在别人的编码中看到的

.post php脚本

    ...
    ...

    echo json_encode($a);
    ...
    ...
    $a = array("foo", "bar", "hallo", "world");
    $string=implode(',',$a) in my php script        

    return $string;
我的意思是,如果我想从.post脚本返回并通过.post返回数组。难道我不需要做以下事情吗

.post php脚本

    ...
    ...

    echo json_encode($a);
    ...
    ...
    $a = array("foo", "bar", "hallo", "world");
    $string=implode(',',$a) in my php script        

    return $string;
javascript

    $.post('$url',function(data){
        data_arr=data.split(',');
        //After which just get the values in the array
        alert(data_arr[0]); //ALERTS 'foo'
        alert(data_arr[1]); //ALERTS 'bar'
    });
如果有人能帮我澄清这一点,让我看到在这方面使用json的曙光,那就太好了

也许这也是因为我对JSON的无知

如果有人能告诉我为什么在这种情况下使用JSON编码更好,以及我应该如何通过.post请求使用它,而不是只是回显字符串并稍后拆分,我将不胜感激


谢谢。

使用
json\u encode
确保您的数据始终有效

对于您可以控制的简单数据来说,这其实并不重要,但是想象一下,如果有一天您在其中一个值中有一个逗号。对于JSON编码的字符串,您不必担心任意分隔符标记


此外,使用JSON,您可以轻松地对对象/数组进行编码,而无需重新发明轮子。

首先,在我看来和实践中,JSON语法与Javascript对象非常相似,在处理以后必须发送/请求和解析的更复杂的数据类型时非常有用

例如: 如果您正在执行post请求,并且正在序列化服务器端验证的所有表单字段(使用PHP),那么很可能需要使用
key=>value
对,如
textbox\u name=>value
。这样做比通过数字索引选择值更符合逻辑(如果表单布局发生变化怎么办?)

使用逗号的示例代码:

<?php
$array = array('Tom', 'Hanks', 'Football');
$string = join(',',$array);
echo $string; //it's obvious - the output is Tom,Hanks,Football
?>
<?php
header('Content-type: application/json');
$array = array('name' => 'Tom', 'surname' => 'Hanks', 'interests' => 'Football');
echo json_encode($array);
?>
所以这是有道理的,对吗但这样做是否更有意义:

<?php
$array = array('Tom', 'Hanks', 'Football');
$string = join(',',$array);
echo $string; //it's obvious - the output is Tom,Hanks,Football
?>
<?php
header('Content-type: application/json');
$array = array('name' => 'Tom', 'surname' => 'Hanks', 'interests' => 'Football');
echo json_encode($array);
?>
使用Javascript解析响应数据也是如此。拥有一个对象比拥有一个CSV字符串更符合逻辑

显然,它取决于用例,但通常JSON为您提供了一个字符串化对象/数组的逻辑结构,可以转换回对象和数组,并以任何方式循环或操作

JSON现在也是一种标准。每个人都使用它,这意味着它不是没有理由的。
换句话说,JSON数据更有意义。

您认为数据将返回到哪里?这与呼叫脚本无关。感谢您的明确解释!让一切变得更简单。可能只是想在//下面添加一个parseJSON,或者为将来的新手提供参考。这有点奇怪,因为有时候数据已经是JSON对象了。我认为这可能是基于从服务器返回的内容类型头。如果内容类型是“application/json”,那么数据将是一个对象。(我想)