在android中有没有办法将JSON字符串转换为查询字符串?

在android中有没有办法将JSON字符串转换为查询字符串?,android,json,query-string,Android,Json,Query String,我一直在将Json字符串转换为查询字符串 实际上,我想创建查询字符串,然后从该查询字符串生成一个SHA哈希,并将其设置在头中以发送到服务器 请帮忙 您的JSON字符串当前是否存储在JSONObject中?如果不是,这将是最好的开始。大概是这样的: JSONObject json = new JSONObject(returnedString); String firstValue= json.get(firstKey); String secondValue = json.get(secondK

我一直在将Json字符串转换为查询字符串

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


请帮忙

您的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();
//然后使用获得的值构造查询字符串

编辑

下面建议的通用方法

大概是这样的:

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();
公共字符串getQueryString(字符串未解析字符串){
StringBuilder sb=新的StringBuilder();
JSONObject json=新的JSONObject(未解析字符串);
迭代器keys=json.keys();
sb.append(“?”;//查询参数的开始
while(keys.hasNext()){
String key=keys.next();
某人附加(钥匙);
某人加上(“=”);
sb.append(json.get(key);
sb.append(&);//允许另一个参数。
}
使某人返回字符串();
如果您有更多关于Android中JSONObject解析的问题,请参见Android上的帮助:

Uri uri=Uri.parse(url_string);
uri.getQueryParameter("para1");
在Android上,Apache库提供了一个查询解析器:


你说的“查询字符串”是什么意思?类似于“SELECT*FROM…WHERE…”的意思?JSON={1:'first',2:'second'}查询字符串=?one=first&two=second QueryString是指我们传递inURL somthing.www.example.com?param1=1¶m2=2tanks,但我需要通用类来进行所有类型的解析。这样我就必须解析JSON的每个键。我需要将其转换为具有预定义规则的查询字符串,这样我就不想逐个解析了。可以始终为此解析创建一个方法,并将查询字符串所需值的键作为方法参数传递,这样会更通用