我正在构建一个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)”
有什么想法吗?
提前谢谢你,
答案 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);