1

jQuery を使用して、深いパラメーターで構築された URL を解析する必要がある Android アプリを構築しますparams()

サンプル URL:

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

結果は JSON である必要があり、これを Gson にフィードできます。手動の解析は最適ではありません。一般的なソリューションが望ましいです。

このタスクはどのように実行できますか?

4

1 に答える 1

0

一見、js/jquery ソリューションが必要だと思いました。しかし、よく調べてみると、おそらく Java. とにかく、私はすでに前者を持っていなかったので、両方を入手してください!

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;
});

ジャワ

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 をコンパイルしませんでした。マップから JSON への変換を処理するには、外部ライブラリが必要になります。

于 2013-04-12T10:09:06.007 に答える