當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 安卓系統 » android請求json數據

android請求json數據-九游会j9娱乐平台

發布時間: 2024-07-02 01:30:04

㈠ android怎麼看json數據格式

json有兩種表示結構,對象和數組。

對象結構以」{」大括弧開始,以」}」大括弧結束。中間部分由0或多個以」,」分隔的」key(關鍵字)/value(值)」對構成,關鍵字和值之間以」:」分隔,語法結構如下

{

key1:value1,

key2:value2,

}其中關鍵字是字元串,而值可以是字元串,數值,true,false,null,對象或數組

數組結構以」[」開始,」]」結束。中間由0或多個以」,」分隔的值列表組成,語法結構如下

[

{

key1:value1,

key2:value2

},

{

key3:value3,

key4:value4

}

]

㈡ android如何從一個網路介面中獲得json數據,並且進行解析呢

你可以用jsonsmart來解析: jsonvalue.parsestrict(返回的數據) 進行解析,之後再根據json欄位拿數據

㈢ android客戶端與伺服器發之間的json數據解析

jsonarray jsonarray = new jsonarray(string); //string為返回的字元串
//數據直接為一個數組形式,所以可以直接 用android提供的框架jsonarray讀取json數據,轉換成array
for (int i = 0; i < jsonarray.length(); i ) {
jsonobject item = jsonarray.getjsonobject(i);
//每條記錄又由幾個object對象組成
iitem.getint("index");
// 獲取對象對應的值
item.getstring("address");
}

㈣ android 解析json用那個包裡面的方法比較好呢

android 解析json還有用google出品的gson比較好,具體步驟為:
1、首先,從 code.google.com/p/google-gson/downloads/list下載gsonapi:
google-gson-1.7.1-release.zip 把gson-1.7.jar 到libs(項目根目錄新建一個libs文件夾)中。 可以使用以下兩種方法解析json數據,通過獲取jsonreader對象解析json數據。
代碼如下:
string jsondata = "[{\"username\":\"arthinking\",\"userid\":001},{\"username\":\"jason\",\"userid\":002}]";
try{
jsonreader reader = new jsonreader(new stringreader(jsondata));
reader.beginarray();
while(reader.hasnext()){
reader.beginobject();
while(reader.hasnext()){
string tagname = reader.nextname();
if(tagname.equals("username")){
system.out.println(reader.nextstring());
}
else if(tagname.equals("userid")){
system.out.println(reader.nextstring());
}
}
reader.endobject();
}
reader.endarray();
}
catch(exception e){
e.printstacktrace();
}
2、使用gson對象獲取user對象數據進行相應的操作:
代碼如下:

type listtype = new typetoken>(){}.gettype();
gson gson = new gson();
linkedlist users = gson.fromjson(jsondata, listtype);
for (iterator iterator = users.iterator(); iterator.hasnext();) {
user user = (user) iterator.next();
system.out.println(user.getusername());
system.out.println(user.getuserid());
}
3、如果要處理的json字元串只包含一個json對象,則可以直接使用fromjson獲取一個user對象:
代碼如下:

string jsondata = "{\"username\":\"arthinking\",\"userid\":001}";
gson gson = new gson();
user user = gson.fromjson(jsondata, user.class);
system.out.println(user.getusername());
system.out.println(user.getuserid());

㈤ android post請求json參數list認證怎樣實現

如果採用post請求,與後台傳送參數採用json格式,那麼可以採用如下的形式包裝參數:
jsonobject params = new jsonobject();
params.put("signature",signature);
params.put("timestamp",timestamp);
params.put("nouce",nouce);
params.put("parnter",parnter);
params.put("access_token",access_token);
包裝之後可以採用一個訪問網路的工具類httpclient訪問後台介面就可以了
我不知道你說的是不是這個意思,希望幫到你

㈥ 請問android怎樣通過json數據從伺服器獲取圖片

直接獲取是不行的,要有一個文件伺服器,對於文件伺服器會為每個圖片生成一個資源路徑,然後json數據中返回的就是這個資源路徑,最後用url類就可以通過這個資源路徑把圖片download下來

㈦ android volley stringrequest post中的getparams怎麼把json數據提交上去

1.客戶端以普通的post方式進行提交,服務端返回字元串
requestqueue requestqueue = volley.newrequestqueue(getapplicationcontext());
stringrequest stringrequest = new stringrequest(request.method.post,httpurl,
new response.listener() {
@override
public void onresponse(string response) {
log.d(tag, "response -> " response);
}
}, new response.errorlistener() {
@override
public void onerrorresponse(volleyerror error) {
log.e(tag, error.getmessage(), error);
}
}) {
@override
protected map getparams() {
//在這里設置需要post的參數
map map = new hashmap();
map.put("name1", "value1");
map.put("name2", "value2");
return params;
}
};
requestqueue.add(stringrequest);

2.客戶端以json串的post請求方式進行提交,服務端返回json串
requestqueue requestqueue = volley.newrequestqueue(getapplicationcontext());
map map = new hashmap();
map.put("name1", "value1");
map.put("name2", "value2");
jsonobject jsonobject = new jsonobject(params);
jsonrequest jsonrequest = new jsonobjectrequest(method.post,httpurl, jsonobject,
new response.listener() {
@override
public void onresponse(jsonobject response) {
log.d(tag, "response -> " response.tostring());
}
}, new response.errorlistener() {
@override
public void onerrorresponse(volleyerror error) {
log.e(tag, error.getmessage(), error);
}
})
{
//注意此處override的getparams()方法,在此處設置post需要提交的參數根本不起作用
//必須象上面那樣,構成jsonobject當做實參傳入jsonobjectrequest對象里
//所以這個方法在此處是不需要的
// @override
// protected map getparams() {
// map map = new hashmap();
// map.put("name1", "value1");
// map.put("name2", "value2");

// return params;
// }

㈧ android用volley怎麼給伺服器發送json

1.下載官網的android sdk(本人用的是eclipse)

2.新建一個android項目:

file->new->andriod application project

7、下面就是具體的使用post和get請求的代碼:

a:發送get請求如下:

package com.example.xiaoyuantong;

import java.util.hashmap;

import java.util.iterator;

import org.json.jsonexception;

import org.json.jsonobject;

import android.app.activity;

import android.os.bundle;

import android.util.log;

import android.widget.textview;

import com.android.volley.request;

import com.android.volley.requestqueue;

import com.android.volley.response;

import com.android.volley.volleyerror;

import com.android.volley.toolbox.jsonobjectrequest;

import com.android.volley.toolbox.volley;

/**

* demo

*/

public class mainactivity extends activity {

private requestqueue requestqueue ;

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_main);

init();

}

private void init() {

textview textview = (textview)findviewbyid(r.id.textview);

requestqueue = volley.newrequestqueue(this);

getjson();

textview.settext("hello");

}

private void getjson(){

string url = "http://192.168.20.1:8080/xiaoyuantong/useraction!register.action?pwd='測試'";

jsonobjectrequest jsonobjectrequest = new jsonobjectrequest(

request.method.get, url, null,

new response.listener() {

@override

public void onresponse(jsonobject response) {

//這里可以列印出接受到返回的json

log.e("bbb", response.tostring());

}

}, new response.errorlistener() {

@override

public void onerrorresponse(volleyerror arg0) {

// system.out.println("sorry,error");

log.e("aaa", arg0.tostring());

}

});

requestqueue.add(jsonobjectrequest);

}

}

b:發送post請求如下:

package com.example.xiaoyuantong;

import java.util.hashmap;

import java.util.map;

import org.json.jsonexception;

import org.json.jsonobject;

import com.android.volley.request;

import com.android.volley.requestqueue;

import com.android.volley.response;

import com.android.volley.volleyerror;

import com.android.volley.toolbox.jsonobjectrequest;

import com.android.volley.toolbox.volley;

import android.os.bundle;

import android.app.activity;

import android.util.log;

import android.view.menu;

import android.widget.textview;

public class postactivity extends activity {

private requestqueue requestqueue ;

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_post);

init();

}

@override

public boolean oncreateoptionsmenu(menu menu) {

// inflate the menu; this adds items to the action bar if it is present.

getmenuinflater().inflate(r.menu.post, menu);

return true;

}

private void init() {

textview textview = (textview)findviewbyid(r.id.postview);

requestqueue = volley.newrequestqueue(this);

getjson();

textview.settext("hellopost");

}

private void getjson(){

string url = "http://192.168.20.1:8080/xiaoyuantong/useraction!reg.action";

jsonobjectrequest jsonobjectrequest ;

jsonobject jsonobject=new jsonobject() ;

try {

jsonobject.put("name", "張三");

jsonobject.put("sex", "女");

} catch (jsonexception e1) {

// todo auto-generated catch block

e1.printstacktrace();

}

//列印前台向後台要提交的post數據

log.e("post",jsonobject.tostring());

//發送post請求

try{

jsonobjectrequest = new jsonobjectrequest(

request.method.post, url, jsonobject,

new response.listener() {

@override

public void onresponse(jsonobject response) {

//列印請求後獲取的json數據

log.e("bbb", response.tostring());

}

}, new response.errorlistener() {

@override

public void onerrorresponse(volleyerror arg0) {

// system.out.println("sorry,error");

log.e("aaa", arg0.tostring());

}

});

requestqueue.add(jsonobjectrequest);

} catch (exception e) {

e.printstacktrace();

system.out.println(e "");

}

requestqueue.start();

}

}

8、在android的logcat裡面能查看到列印的請求

(紅色的顯示的是我在後台請求到數據)

有時候logcat顯示不出數據,可能是消息被過濾了,可以在左邊點擊「減號」刪除過濾

在server端,也就是在myeclipse的建立的另一個後台工程裡面能獲取到請求:


9、後續會補充json數據的解析部分,以及過度到移動雲的部分,上面只是c/s模式下的一個簡單的基於http的請求應答例子。

熱點內容
resin下jsp不能正常編譯 發布:2024-07-17 16:34:44 瀏覽:229
sqlserver如何切換主備伺服器 發布:2024-07-17 16:23:02 瀏覽:299
mc18伺服器ip 發布:2024-07-17 16:23:02 瀏覽:379
仙境傳說手游腳本 發布:2024-07-17 16:09:24 瀏覽:691
matlab命令窗口和新建腳本 發布:2024-07-17 15:51:26 瀏覽:375
建ftp文件夾 發布:2024-07-17 15:51:26 瀏覽:955
魔獸撿物腳本 發布:2024-07-17 15:27:56 瀏覽:130
開發ip伺服器 發布:2024-07-17 15:24:42 瀏覽:388
安卓系統視頻製作哪個好用 發布:2024-07-17 15:10:47 瀏覽:210
androidapk結構 發布:2024-07-17 15:10:43 瀏覽:945
网站地图