将json内容写入url android

Posted

技术标签:

【中文标题】将json内容写入url android【英文标题】:Write json content to url android 【发布时间】:2013-03-25 03:59:53 【问题描述】:

我有一个从 url 解析 json 内容并完成它们的 android 要求,现在我需要将结果作为 json 内容发送回服务器 url。搜索了许多以前的帖子,但大多数都指定了如何下载和解析 json 内容。任何关于如何开始在 json 中将内容发布到 url 的输入/示例都会有很大的帮助!

编辑:下面是我正在尝试的示例代码

try 

        URL url = new URL("http://localhost:8080/RESTfulExample/json/product/post");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setDoOutput(true);
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "application/json");

        String input = "\"qty\":100,\"name\":\"iPad 4\"";

        OutputStream os = conn.getOutputStream();
        os.write(input.getBytes());
        os.flush();

        if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) 
            throw new RuntimeException("Failed : HTTP error code : "
                    + conn.getResponseCode());
        

        BufferedReader br = new BufferedReader(new InputStreamReader(
                (conn.getInputStream())));

        String output;
        System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null) 
            System.out.println(output);
        

        conn.disconnect();

     catch (MalformedURLException e) 

        e.printStackTrace();

     catch (IOException e) 

        e.printStackTrace();

    

执行此操作时,连接被拒绝,java.net.connect 异常!请帮忙!!

【问题讨论】:

您应该考虑添加示例 URL 应该是什么样子 已添加示例,请添加您的意见! 我希望你有一个实际的 url 地址,你把 localhost 放在哪里?如果网络服务在该地址正确响应,您是否尝试过? (例如使用 cURL?像这样:curl -d "param1=value1&param2=value2" http://yourURLhere:8080/?otherparam=othervalue 【参考方案1】:

您可以使用以下方法发送您的 JSON 请求。

public static HttpResponse sendRequest(String url, String request) throws Exception 

    //Create the httpclient to make request
    DefaultHttpClient httpclient = new DefaultHttpClient();

    //create an HttpPost request object
    HttpPost httpost = new HttpPost(url);

    //Create the String entity to be passed to the HttpPost request
    StringEntity se = new StringEntity(request));

    //set the created StringEntity
    httpost.setEntity(se);

    //the intended
    httpost.setHeader("Accept", "application/json");
    httpost.setHeader("Content-type", "application/json");

    return httpclient.execute(httpost);

希望这会有所帮助。

【讨论】:

字符串请求是你的json字符串吗?

以上是关于将json内容写入url android的主要内容,如果未能解决你的问题,请参考以下文章

如何将每个 Json 属性写入没有其内容的列表

将 Hadoop Pig 输出作为 JSON 数据发布到 URL?

无法将 JSON 写入文件(Xamarin C#)

json写入文件

Python将内容写入文件的方法总结。

如何将在从控制台获取的 URL 中找到的特定字符串替换为在 Ruby 文本文件中写入的每一行中找到的文件内容?