Android 台灣中文網
標題:
請問要如何讀取網頁JSON格式呢?
[打印本頁]
作者:
wind8894
時間:
2012-12-10 19:18
標題:
請問要如何讀取網頁JSON格式呢?
我有一個網頁只顯示JSON格式內容
{"code":"84f9df8db8f2210c45e0f7792f061c2e","state":""}
複製代碼
想寫一隻JSON程式去讀取這串
要如何做呢?
作者:
ploglin
時間:
2012-12-11 09:14
大致如下~
String json = "{"code":"84f9df8db8f2210c45e0f7792f061c2e","state":""}";
JSONObject object = new JSONObject(json);
String code = object.getString("code");
複製代碼
作者:
wind8894
時間:
2012-12-11 16:46
有辦法做String url=" "嗎?
因為"84f9df8db8f2210c45e0f7792f061c2e"會浮動改變
作者:
ploglin
時間:
2012-12-11 17:47
不太懂你的意思耶?
作者:
wind8894
時間:
2012-12-11 17:49
比如說網頁上面顯示
{"code":"84f9df8db8f2210c45e0f7792f061c2e","state":""}
複製代碼
然後我要去撈
如果這樣寫
String json = "{"code":"84f9df8db8f2210c45e0f7792f061c2e","state":""}";
JSONObject object = new JSONObject(json);
String code = object.getString("code");
複製代碼
不就是寫死了嗎?
作者:
ploglin
時間:
2012-12-12 10:01
一般來說 key 通常都是固定的,同一個功能回傳的內容如果 key 變來變去,那就很難處理了。
api 是你自己寫的嗎?
作者:
wind8894
時間:
2012-12-12 16:49
經過高人指點後,我用出來了,分享一下程式碼
import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class Json extends Activity {
private TextView get_code,get_state;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
get_code=(TextView)findViewById(R.id.get_code);
get_state=(TextView)findViewById(R.id.get_state);
HttpClient client = new DefaultHttpClient();
StringBuilder builder = new StringBuilder();
HttpGet get =
new HttpGet("要抓取資料的網址");
try {
HttpResponse response = client.execute(get);
BufferedReader reader = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
for (String s = reader.readLine(); s != null; s = reader.readLine()) {
builder.append(s);
}
JSONObject jsonObject = new JSONObject(builder.toString());
String myCode =jsonObject.getString("code");
String myState = jsonObject.getString("state");
get_code.setText(myCode);
get_state.setText(myState);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
複製代碼
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1