从 Java 发送 JSON 对象并在 PHP 中解码 JSON 对象


Sending a JSON object from Java and decoding the JSON object in PHP

我想在Java程序中接收数据,并向PHP程序发送json HTTP请求以进一步处理。我编写了以下Java程序。

import java.io.IOException;
import java.util.Scanner;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

public class JSON_Test_1 
{
    public static void main(String args[]) throws IOException
    {
        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
        Scanner obj = new Scanner(System.in);
        System.out.print ("Name: ");
        String name = obj.nextLine();
        //create a new JSON object
        JSONObject root = new JSONObject();
        //put the variables in JSON oebject
        root.put("name", name);
        System.out.println(root.toJSONString());
        try 
        {
            HttpPost request = new HttpPost("http://localhost/Test/");
            StringEntity params = new StringEntity(root.toString());
            request.addHeader("content-type", "application/json");
            request.setEntity(params);
            httpClient.execute(request);
        // handle response here...
        } 
        catch (Exception ex)
        {
            // handle exception here
        } 
        finally 
        {
            httpClient.close();
        }
    }    
}

谁能帮助我了解如何在 PHP 程序中解码 json 对象。提前谢谢。

数据应该"在"php 实例的请求输入/正文流中,您可以通过 php://input 访问该实例。
(字符串)json 数据可以通过json_decode()

解码
<?php
$data = json_decode( file_get_contents('php://input'), true );
echo $data['name'];