すでに文字列である場合、URLにエスケープ文字が含まれているのはなぜですか?
文字列であるため、エスケープ文字があります。具体的には、JSON文字列であるため、JSON文字列のエスケープ文字があり、それらを送信したエンティティは、固相線をエスケープするオプションを使用することにしました。送信エンティティがその選択を行った理由の詳細については、「GroovyJSONBuilderがURLのスラッシュをエスケープする理由」を参照してください。役職。
写真を取得するためにURLでメソッド呼び出しを行うためにそれらを取り除く必要があります。私は何かが足りないのですか?
簡単な方法で、適切なJSON解析APIを使用して、JSON文字列をJava文字列に変換するときにJSONエスケープ文字を自動的に削除します。Androidには、このような組み込みのJSONライブラリがあります。
package com.stackoverflow.q6564078;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class Foo extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// {"pic_url": "http:\/\/www.youtube.com\/inside\/kslkjfldkf\/234.jpg?v=7475646"}
String jsonInput = "{\"pic_url\": \"http:\\/\\/www.youtube.com\\/inside\\/kslkjfldkf\\/234.jpg?v=7475646\"}";
Log.d("JSON INPUT", jsonInput);
// output: {"pic_url": "http:\/\/www.youtube.com\/inside\/kslkjfldkf\/234.jpg?v=7475646"}
try
{
JSONObject jsonObject = new JSONObject(jsonInput);
String javaUrlString = jsonObject.getString("pic_url");
Log.d("JAVA URL STRING", javaUrlString);
// output: http://www.youtube.com/inside/kslkjfldkf/234.jpg?v=7475646
}
catch (Exception e)
{
throw new RuntimeException(e);
}
}
}