其中一个参数中的服务器API需要字典值。例如,检查以下电话参数:
data = {“name”:“Dummy Name”,“phone”: {“number”:“123456”,“type”:“mobile”} }
我在Android应用程序中使用DefaultHttpClient,到目前为止,所有示例都显示了如何使用httpPost请求发布基本名称值对。
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
有没有办法用字典设置实体?
答案 0 :(得分:0)
它看起来像是要创建一个类似BasicNaveValuePair
的类!像BasicNamePhonePair
类这样可以添加到List的东西。 StringEntity我不相信会解决你的问题。您需要解析JSON ...而不仅仅是存储JSON字符串。
你有...... data={"name": "Dummy Name", "phone": {"number": "123456", "type": "mobile"}}
示例显示的是...... data={"id": "12345", "stringdata": "Hi"}
基本上你必须创建一种方法来添加数据结构和“名称”...并将这两个东西添加到列表中!
有点说明你要存储的东西......
public class Contact {
string name; // "Dummy Name"
Phone phone;
}
public class Phone {
string number; // "123456"
string type; // "mobile"
}