php 解析从前台传过来的json数据

#1 gflhx

从前台传的数据是{"dish":[{"Menu_price":18,"Menu_name":"自然香辣锅底","Menu_taste":"中辣","Menu_Id":107,"Menu_num":1}],"name","张三","age":"29"}
在函数中
$myjson=$this->spArgs('myjson');
  php如何解析上面的json然后再把数据存到数据库中

2013-05-20 19:14:46

#2 coolhpy

汗,你查个手册不就有了啊。。。  json_decoden

2013-05-20 21:59:37

#3 coolhpy

json_decode  不小心多按了个n{:soso_e127:}

2013-05-20 22:00:04

#4 y_e_s_2011@163.

不是吧,编辑器没提示错误?推荐eclipse for php 和 zend studio

2013-05-20 22:39:39

#5 gflhx

coolhpy 发表于 2013-5-20 21:59
汗,你查个手册不就有了啊。。。  json_decoden
我也是这样写的,
$myjson = json_decode($myjson );
     echo $myjson->name;

显示:Response does not contain any data.

2013-05-21 09:47:42

#6 jake

gflhx 发表于 2013-5-21 09:47
我也是这样写的,
$myjson = json_decode($myjson );
     echo $myjson->name;
提示应该是没有获取到JSON,你用chrome或者dump看看提交的数据是不是正确了。

2013-05-21 12:42:19

#7 gflhx

jake 发表于 2013-5-21 12:42
提示应该是没有获取到JSON,你用chrome或者dump看看提交的数据是不是正确了。
...
jake  我在代码里

    $myjson = $this->spArgs('myjson');//获取json形式的字符串
   echo $string;

返回的是这种形式的
{\"dish\":[{\"Menu_price\":18,\"Menu_name\":\"自然香辣锅底\",\"Menu_taste\":\"中辣\",\"Menu_Id\":107,\"Menu_num\":1}],\"name\":\"张三\",\"age\":\"29\"}
这是怎么回事?

2013-05-21 13:49:18

#8 gflhx

jake 发表于 2013-5-21 12:42
提示应该是没有获取到JSON,你用chrome或者dump看看提交的数据是不是正确了。
...
jake 我在后台写成死的
$tb = spClass(lib_login);
       $string = '{"Menu_price":18,"Menu_name":"新奥尔良锅底","Menu_taste":"无","Menu_Id":106,"Menu_num":1}';
       $string = json_decode($string);
       echo $string->Menu_name;

这样可以输出数据。可是从前台传,后天接受再用json_decode()函数就不行了?这是怎么一回事?

2013-05-21 16:03:45

#9 jake

那肯定就是json_decode()的数据,接收前台后用得不对,具体你得好好检查代码,从下面的代码看,你那个不是一般的乱,代码整洁才能更好找问题。

$myjson = $this->spArgs('myjson');//获取json形式的字符串
echo $string;

2013-05-21 16:07:05

#10 gflhx

jake 发表于 2013-5-21 16:07
那肯定就是json_decode()的数据,接收前台后用得不对,具体你得好好检查代码,从下面的代码看,你那个不是 ...
不好意思jake,让我在说说我的代码,您看看哪里有问题,
[img]file:///C:\Documents and Settings\Administrator\Application Data\Tencent\Users\479023498\QQ\WinTemp\RichOle\VVJ3CSS`]V_J6@[email]4AH@UB8ZK.jpg[/email][/img]
前台json.jpg
我用chrome ,提交方式是post,
后台:
    $string = $this->spArgs('string');
$string = json_decode($string);

     echo $string;

在前台没有数据。您能帮忙看看是哪里的问题吗?

2013-05-21 16:49:11

#11 jake

自己看手册http://www.speedphp.com/thread-3738-1-1.html 学习对比吧,这样谁看得出来什么问题。

2013-05-21 17:54:45

#12 gflhx

coolhpy 发表于 2013-5-20 22:00
json_decode  不小心多按了个n
用了json_decode();可是客户端没有输出内容,好像一用json_decode()就不输出数据

2013-05-23 11:20:15

#13 gflhx

jake 发表于 2013-5-21 17:54
自己看手册http://www.speedphp.com/thread-3738-1-1.html 学习对比吧,这样谁看得出来什么问题。 ...
谢谢jake的耐心解答,我看了,可是不是我提问所要的解答,就是从前台发送给php  json的数据,php解析json,您让我看的都是提交的单个数据

2013-05-23 11:28:51