【问题标题】:How to Parse JsonObject of JsonObjects in String and send over post request using urlconnection android?如何解析字符串中 JsonObjects 的 JsonObject 并使用 urlconnection android 发送 post 请求?
【发布时间】:2016-12-28 06:09:28
【问题描述】:

我有一个网络服务,我必须在 Json 中传递参数。但问题是 jsonObject 有一个 jsonobject 类型的键,而 jsonobject 有一个子类型的键。 这很令人困惑,但我可以用儿子对象向你展示我的最终结果。

{
    "Id": 1,
    "Company": "BMW",
    "Category": {
        "ID": 1,
        "Transmission": 1,
        "Fuel": 2,
        "Description": {
            "Price": 1200000,
            "Year": 2016
        }
    }
}

现在我想在 URLconnection 中发送它。我该怎么办?

我创建了 3 个带有描述、类别和最终子对象的 Json 对象,然后使用 toString() 将其转换为字符串。使用“Category”键将“类别”和“类别”中的描述放入最终儿子但其不工作的服务器给出错误。

我对 android 很陌生,对它不太了解。任何建议都会很有用。

已编辑我已经尝试过link,但仍然没有解决我的问题。

【问题讨论】:

标签: android json post httpurlconnection urlconnection


【解决方案1】:

如果你想使用 URLConnection.. 你可能想看看这个帖子

POST request send json data java HttpUrlConnection

【讨论】:

    【解决方案2】:

    我的第一个建议是使用库进行 http 通信:

    1. 凌空抽射
    2. OkHttp
    3. 改造等

    他们会为你处理 json。

    如果您仍想使用该 httpUrlConnection:

    URL url = new URL("http://yoururl.com");
    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
    conn.setReadTimeout(10000);
    conn.setConnectTimeout(15000);
    conn.setRequestMethod("POST");
    conn.setDoInput(true);
    conn.setDoOutput(true);
    
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("firstParam", paramValue1));
    params.add(new BasicNameValuePair("secondParam", paramValue2));
    params.add(new BasicNameValuePair("thirdParam", paramValue3));
    
    conn.connect();
    

    这就是您可以为其增加价值的方式。现在您可以将 json.toString() 添加为参数,并为其提供由服务器识别的正确密钥;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      相关资源
      最近更新 更多