如何使用jQuery params()解析深层URL?

时间:2013-01-25 16:21:32

标签: java android jquery json url

构建一个需要使用jQuery params()解析使用深层参数构建的URL的Android应用。

示例网址:

http://webapp.example.com/#params%5Bid%5D=33330&type=detail&channel=ss&view=Detail

结果应该是JSON,我可以将其输入Gson。手动解析不是最佳的;一般的解决方案更可取。

如何完成这项任务?

1 个答案:

答案 0 :(得分:0)

乍一看,我认为你需要一个js / jquery解决方案。但仔细观察,可能是java。 Anywhoo,我已经不是前者所以你们两个都得到了!

JS / jquery的

url="http://webapp.example.com/#params%5Bid%5D=33330&type=detail&channel=ss&view=Detail";

delimatedString = url.substring(url.indexOf("#")+1,url.length); //remove everything before the #

var jsonObject = new Object();

$.each(delimatedString.split("&"), function(index, item) {//for loop to spit at the *&
   //item is now in the syntax key=value 
   var keyValPair = item.split("="); //split each item at the = to seperate
   var key = keyValPair[0];
   var value = keyValPair[1];

   jsonObject[key]=value;
});

的java

String delimatedStrings = url.substring("&"+1, url.length)
String[] keyValuePairs = delimatedString.split("&");  
Map<String, String> map = new HashMap<String, String>();  
for (String keyValuePair : keyValuePairs)  
   {  
      String key = delimatedString.split("=")[0];  
      String value = delimatedString.split("=")[1];  
      map.put(key, value);  
    } 

PS。我没有编译java,你需要一个外部的lib来处理地图到JSON的转换。