所以我想从一个看起来像这样的网站解析Json File:
{ “tnum”:“12805”, “tname”:“JANMABHOOMI EXP”, “tdate”:“25-2-2013”, “来自”:“GNT”, “to”:“SC”, “阶级”:“CC”, “图表”:是的, “numofpax”:2, “pax”:[{ “教练”:“D2”, “泊位”:“23”, “quota”:“GN”, “身份”:“CNF” },{ “教练”:“S2”, “泊位”:“43”, “quota”:“GN”, “身份”:“CNF” } ]}
这是我写的不完整的代码:
EditText num = (EditText)findViewById(R.id.pnr_num);
String numPNR= num.getText().toString();
url = "http://www.railpnrapi.com/";
url = url.concat(numPNR);
TextView t = (TextView)findViewById(R.id.textView1);
t.setText(url);
JSONObject jsonObj = null;
try {
jsonObj = new JSONObject(url);
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// grabbing the menu object
try {
String id = jsonObj.getString("tname");
TextView t1 = (TextView)findViewById(R.id.textView1);
t1.setText(id);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
然而,每次我的应用程序崩溃。我甚至添加了网络访问权限!
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
我在哪里弄错了?谢谢。 附:这是我试图通过示例输入访问的网站:
答案 0 :(得分:0)
您正尝试从传递给构造函数的URL字符串创建JSONObject
,但这不起作用。
您需要将网址内容提取到String
,然后将该字符串传递给JSONObject
构造函数。
有关详细信息,请参阅this SO answer。关于如何做到这一点。