简体   繁体   中英

PHP process posted json

I have a VB.net desktop app sending webrequest to a PHP web server via:

Dim result_post = SendRequest(New Uri(strURL), data, "application/json", "POST")

The data is encoded using the Newtonsoft json encoding process

I am having a problem on the PHP side retrieving the posted json.

$data = file_get_contents('php://input');
//$data = '[{"products_model":"2481-5-50","products_name":"2481-5-50 Desk, Maple with an extended d","products_description":"Desk, Maple with an extended description\rAnd this is line 2","products_quantity":112,"products_date_available":"2009-07-08T00:00:00","products_url":"","fc_products_id":0,"updated":"2012-04-15T00:00:00","products_price":1109.95,"ImageFile":"","products_tax_class_id":1,"products_weight":0.00}]';

$json = json_decode($data, true);
Foreach ($json as $i => $row) {
   //sql insert code goes here
}

If I put the json text in the php file, the sql insert code works. When I use the file_get_contents version I get no errors but also no inserted data.

What am I missing?

You can check to see if $HTTP_RAW_POST_DATA contains the information you are looking for. If you have always_populate_raw_post_data set to true in your ini settings, then the input stream may have already been read into this variable.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM