Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过导航器而不是java传递json对象_Java_Json - Fatal编程技术网

通过导航器而不是java传递json对象

通过导航器而不是java传递json对象,java,json,Java,Json,我有一个java应用程序,代码如下: URL url = new URL("http://myurl/"); HttURLConnection connection = (HttURLConnection) url.openConnection(); connection.setDoInput(true); connection.setDoOutplut(true); connection.setRequestProperty("Content-Type", "application/json"

我有一个java应用程序,代码如下:

URL url = new URL("http://myurl/");
HttURLConnection connection = (HttURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutplut(true);
connection.setRequestProperty("Content-Type", "application/json");
BufferedWriter buffer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
buffer.write("{\"foo:\"0}");
buffer.flush();
我只想在我们的URL栏中做同样的事情

编辑

我找到了一个修改标题的工具。这里是加载页面时开发工具的屏幕截图。 现在我把Json对象放在哪里了

如果您需要将JSON数据发送到您的URL,您的代码应该如下所示

            URL url = new URL("http://myurl/");
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setDoOutput(true);
            con.setRequestMethod("POST");
            con.setRequestProperty("Content-Type", "application/json");

            String input = "{\"foo\":\"bar\"}";
            OutputStream ous = con.getOutputStream();
            ous.write(input.getBytes());
            ous.flush();

            if (con.getResponseCode() != HttpURLConnection.HTTP_OK)
            {
                throw new RuntimeException("Failed : HTTP error code : " + con.getResponseCode());
            }else
            {
                BufferedReader br = new BufferedReader(new InputStreamReader((con.getInputStream())));
                String output;
                System.out.println("Output from Server .... \n");
                while ((output = br.readLine()) != null) 
                {
                     System.out.println(output);
                }
            }

            con.disconnect();
curl -v -H "Content-Type: application/json" -X POST \
     -d '{\"foo\":\"bar\"}' http://myurl/
如果你需要GET方法,你可以把这个

con.setRequestMethod("GET");
con.setRequestProperty("Accept", "application/json");
如果需要发送带有URL的请求正文,可以使用CURL。你也可以使用。通过使用它,您可以发送请求并接收响应

卷曲会是这样的

            URL url = new URL("http://myurl/");
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setDoOutput(true);
            con.setRequestMethod("POST");
            con.setRequestProperty("Content-Type", "application/json");

            String input = "{\"foo\":\"bar\"}";
            OutputStream ous = con.getOutputStream();
            ous.write(input.getBytes());
            ous.flush();

            if (con.getResponseCode() != HttpURLConnection.HTTP_OK)
            {
                throw new RuntimeException("Failed : HTTP error code : " + con.getResponseCode());
            }else
            {
                BufferedReader br = new BufferedReader(new InputStreamReader((con.getInputStream())));
                String output;
                System.out.println("Output from Server .... \n");
                while ((output = br.readLine()) != null) 
                {
                     System.out.println(output);
                }
            }

            con.disconnect();
curl -v -H "Content-Type: application/json" -X POST \
     -d '{\"foo\":\"bar\"}' http://myurl/

您可以使用Firefox来执行所需的操作。

内容类型应该在标题中而不是查询中。并且{\foo\:bar}应该在正文中,而不是查询参数中。这也是无效的JSON,看起来很可疑。是的,它是{\foo:\bar}。这并不重要part@AniketSahrawat我是怎么把听者放进去的?@JulienMaret你在代码片段中做得对。我建议您添加connection.setRequestPropertyAccept,application/json;和它一起。它可能会也可能不会更改服务器的输出。另外,您尝试传递的JSON字符串无效。正确的JSON应该是{\foo\:\bar\}实际上,它是这样的。我编辑了这个问题。我想避免安装新软件,只使用我的导航器。