提取json.stringify(数据)

时间:2014-04-06 04:57:47

标签: php jquery ajax json

我正在构建一个API,我需要一些帮助,以了解如何从JSON请求中解析数据,这是我的代码:

<textarea style="width: 100%; height: 300px;" id="request_json">
{
  "requestType":"TourListRequest",
  "data":{
  "ApiKey":"12345",
  "ResellerId":"999",
  "SupplierId":"999",
  "ExternalReference":"12345",
  "Timestamp":"2013-12-10T13:30:54.616+10:00",
  "Extension":{
  "any":{
      }
   },
  "Parameter":{
  "Name":{
    "0":" "
   },
  "Value":{
    }
   }
 }
}
 </textarea>

<script>
 function SubmitAPI() {
    var sendInfo = { 
      JSON    : $('#request_json').val(),
      URL     : $('#supplier_api_endpoint_JSON_Tour_List').val(),
      Type    : 'JSON Tour List'
    };

$('#response_json').html("Calling API...");
$.ajax({
       url: 'post_JSON.php', 
       type: "POST",
       data: JSON.stringify(sendInfo), // send the string directly
       success: function(response){
      var obj = jQuery.parseJSON( response );
    $('#response_json').html(response);
    $('#response_validation').html( obj.json_valid );
          },
          error: function(response) {
          $('#response_json').html(response);
           }
        }); 
   }
  </script>

所以我需要知道如何在我的php脚本post_JSON.php中接收“JSON.stringify(sendInfo)”

有什么想法吗?

提前谢谢你,

2 个答案:

答案 0 :(得分:0)

我不知道php,但我认为你必须这样做。

post_JSON.php中,您可以:json_decode

答案 1 :(得分:0)

我认为您需要为数据字符串命名,例如......

data: {info: JSON.stringify(sendInfo)},

并在你的php中:

$json_data = $_POST['info'];
var_dump(json_decode($json_data, true));

使用php获取该数据,执行以下操作:

$postedData = json_decode($json_data, true); // turns json string into an object
$requestType = $postedData['requestType']; 

如果你需要用jquery解析返回的json字符串,你可以这样做:

var jsonStuff = jQuery.parseJSON( data );
alert( jsonStuff.requestType);