我坚持将Json字符串转换为查询字符串。
实际上,我想创建查询字符串,并从该查询字符串生成SHA哈希并将其设置在标头中以发送到服务器。
请帮忙!
答案 0 :(得分:1)
在Android上:
Uri uri=Uri.parse(url_string);
uri.getQueryParameter("para1");
在Android上,Apache库提供了一个Query解析器:
http://developer.android.com/reference/org/apache/http/client/utils/URLEncodedUtils.html和http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/utils/URLEncodedUtils.html
答案 1 :(得分:0)
您的JSON字符串当前是否存储在JSONObject中?如果没有,这将是最好的起点。像这样:
JSONObject json = new JSONObject(returnedString);
String firstValue= json.get(firstKey);
String secondValue = json.get(secondKey);
//然后使用获得的值构建查询字符串
修改强>
以下建议的通用方法......
这样的事情:
public String getQueryString(String unparsedString){
StringBuilder sb = new StringBuilder();
JSONObject json = new JSONObject(unparsedString);
Iterator<String> keys = json.keys();
sb.append("?"); //start of query args
while (keys.hasNext()) {
String key = keys.next();
sb.append(key);
sb.append("=");
sb.append(json.get(key);
sb.append("&"); //To allow for another argument.
}
return sb.toString();
如果您对Android these docs中的JSONObject解析有更多疑问非常有用