0

我目前有一个服务器 API 来接收带有 JSON 数据的 POST。JSON数据如下

JSON对象如下

[{
          firstName : "XXXXX",
          surName   : "XXXXXX",
          contact   : "XXXXXXX",
          branch    : "XXXXXX",
          reportsTo : "XXXXX",
          startTime : "9:00AM",
          endTime   : "6:00PM"},
  {
          firstName : "XXXXXX",
          surName   : "XXXXXXX",
          contact   : "XXXXXXX",
          branch    : "XXXXXXX",
          reportsTo : "XXXXXXX",
          startTime : "9:00AM",
          endTime   : "6:00PM"
}];

现在我需要更改代码以支持 GET 获取相同的 JSON 数据。JSON 对象包含多个 json 对象。Array 中有两个元素如下所示。

APP_ID=XXXXXXXf&client=XXXXXXXXXX&Details=%7B%22firstName%22:%22XXXXXXX%22,%22surName%22:%22lXXXXXXX%22,%22contact%22:%22XXXXXXX%22,%22branch%22:%22XXXXXXX%22,%22reportsTo%22:%22XXXXXXX%22,%22startTime%22:%229:00AM%22,%22endTime%22:%226:00PM%22%7D&professionalDetails=%7B%22firstName%22:%22XXXXXXX%22,%22surName%22:%22XXXXXXX%22,%22contact%22:%22XXXXXXX%22,%22branch%22:%22XXXXXXX%22,%22reportsTo%22:%22XXXXXXX%22,%22startTime%22:%229:00AM%22,%22endTime%22:%226:00PM%22%7D&timeStamp=1378950760

  1. GET 是一种可用于此类情况的方法吗?

  2. 任何无需太多字符串操作即可提取数据的有效方法?

4

4 回答 4

0

您可以在相同的代码中使用 get 方法而不是 post.. json 解析将采用相同的方式.. 而不是 $_POST['josn_str'] 您需要使用 $_GET['json_str']

那么我认为你已经在使用 json_decode

唯一的事情是使用 GET,您将通过一次调用在 API 中获得更少的数据。

于 2013-09-12T02:45:54.210 回答
0

如果 JSON 数组太大,你会发现 GET 会失败,而太大并不是很大。POST是去这里的方式。

一旦你的 PHP 脚本中有数据,你就可以用它来解码它

$myData = json_decode($_POST['myData']);

之后,您可以将其作为 PHP 变量访问:

$firstFirstName = $myData[0]->firstName;
于 2013-09-12T02:19:38.193 回答
0

您可以使用 GET,但限制为大约 2000 个字符(请参阅此处

使用json_decode(). 您可以在 php.net 上找到该文档。

于 2013-09-12T02:19:40.503 回答
0

我不是专业人士。但我会做的是。

将所有 $_POST 更改为 $_REQUEST

然后做这个

if(isset($_GET['firstName']))
{
 foreach($_RESQUEST as $k => $v)
 {
  $_RESQUEST[$k] = url_decode($v);
 }
}
于 2013-09-12T02:20:10.627 回答