【发布时间】:2016-03-25 06:38:41
【问题描述】:
所以我试图从这个字符串创建一个 JSON 对象,因为我将访问 iTunes 查找 api,但我似乎无法创建 JSONObject。我已经查看了每个基于 android/java 的解决方案,但我似乎无法让它工作。谢谢!
import org.json.JSONException;
import org.json.JSONObject;
public class api_caller {
static String api_out = "{\"wrapperType\":\"track\", \"kind\":\"podcast\", \"collectionId\":274450056, \"trackId\":274450056, \"artistName\":\"Giant Bomb\"}";
static String fin = api_out.replace("\\", "");
public static void main(String[] args) {
System.out.println(fin);
try {
JSONObject jsondata = new JSONObject(fin);
}catch(JSONException e){
e.printStackTrace();
}
}
}
编辑:
所以我已经尝试了 Darshan 提到的内容。但我一直收到这个错误。
/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/bin/java -Didea.launcher.port=7540 "-Didea.launcher.bin.path=/Applications/Android Studio.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Users/jsho/Library/Android/sdk/platforms/android-23/android.jar:/Users/jsho/Library/Android/sdk/platforms/android-23/data/res:/Users/jsho/projects/simple_podcasts/app/build/intermediates/classes/debug:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/23.2.1/res:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/23.2.1/jars/classes.jar:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/support-v4/23.2.1/jars/classes.jar:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/support-v4/23.2.1/res:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/support-v4/23.2.1/jars/libs/internal_impl-23.2.1.jar:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.2.1/jars/classes.jar:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.2.1/res:/Users/jsho/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/23.2.1/support-annotations-23.2.1.jar:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/23.2.1/res:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/23.2.1/jars/classes.jar:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/design/23.2.1/jars/classes.jar:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/design/23.2.1/res:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.2.1/jars/classes.jar:/Users/jsho/projects/simple_podcasts/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.2.1/res:/Applications/Android Studio.app/Contents/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain com.example.jsho.simplepod.api_caller
Exception in thread "main" java.lang.RuntimeException: Stub!
at org.json.JSONObject.<init>(JSONObject.java:7)
{"wrapperType":"track", "kind":"podcast", "collectionId":274450056, "trackId":274450056, "artistName":"Giant Bomb"}
at com.example.jsho.simplepod.api_caller.main(api_caller.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Process finished with exit code 1
【问题讨论】:
-
除了没用之外似乎还不错:"static String fin = api_out.replace("\\", "");"你已经转义了引号。你到底在期待什么?
-
好吧,当我运行代码时,它总是抛出一个错误。
-
看到这个:stackoverflow.com/questions/8982631/…我想你是在 Android 之外运行你的代码吗?你需要模拟器来测试你的代码!