有没有办法将JSON String转换为在android中查询String?

时间:2015-06-22 13:19:13

标签: android json query-string

我坚持将Json字符串转换为查询字符串。

实际上,我想创建查询字符串,并从该查询字符串生成SHA哈希并将其设置在标头中以发送到服务器。

请帮忙!

2 个答案:

答案 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.htmlhttp://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解析有更多疑问非常有用