【问题标题】:How to make a JSONObject using JSONParser class method如何使用 JSONParser 类方法制作 JSONObject
【发布时间】:2014-04-09 13:39:21
【问题描述】:

不确定我的标题是否完全适合我的问题,但这是我能想到的最好的。

这是我来自网站的 JSONString:

{"0":{"productname":"Varios - NEUTROGENA PROTECTOR LABIAL SPF5","imageurl":"http://ecx.images-amazon.com/images/I/41cm5BHMGtL._SL160_.jpg","producturl":"","price":"1.72","currency":"GBP","saleprice":"","storename":"N/A"}}

我想用here 提供的类创建一个 JSONObject。

这是我到目前为止所做的:

JSONParser jsonparser = new JSONParser(); 
String jsonString = null;
JSONObject jsonObject = jsonparser.makeHttpRequest(url, GET, params);

makeHttpRequest 方法接受 3 个参数:

  1. URL - 我在其中放置了从上面给我 JSONResponse 的网站的 URL;
  2. 字符串(GET 或 POST);
  3. List<NameValuePair>

我不知道应该在列表中添加什么才能使我的方法有效。我必须以哪种格式将其放入 List 以使该方法返回一个适合以后(轻松)使用的 JSONObject。

【问题讨论】:

  • 我希望它可以留空(null?),因为您没有发送任何额外的参数。不确定它如何适合您的用例,但总的来说我建议使用 code.google.com/p/google-gson 库。

标签: java json


【解决方案1】:

根据linked post 中的问题,它来自this tutorial,并且根据该教程,如果需要,该列表用于使用org.apache.http.message.BasicNameValuePair 类将参数列表传递给httprequest。 NameValuePair 本身就是一个接口,它的文档在this link 中给出

您可以将值添加到参数列表,如下所示。摘自教程:

List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", name));
params.add(new BasicNameValuePair("price", price));
params.add(new BasicNameValuePair("description", description));

因此,您只需通过更改添加到列表中的键值对将所需的参数传递给 URL。

希望这会有所帮助。

【讨论】:

  • 感谢您的评论,我已经看到那里发布的教程,但我的问题是如何添加例如当我还不知道名称时,您的示例中的“名称”(第二个参数)。教程中的“名字”是已知的,像这样:String name = txtName.getText().toString();
  • 这些不是您将在 json 中收到的值,它们只是您可能希望发送到服务器以使服务器正确响应的值,就像您在填写表格时填写的值一样你提交他们。它们基本上是在获取 http 请求中 ? 之后出现的值。你可以谷歌了解网址和参数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
  • 2020-12-16
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多