当前位置:首页 » 安卓系统 » androidpostjson

androidpostjson

发布时间: 2023-01-07 16:12:52

❶ 如何post一个json格式的数据

在Android/java平台上实现POST一个json数据:

JSONObject jsonObj = new JSONObject();
jsonObj.put("username", username);
jsonObj.put("apikey", apikey);
// Create the POST object and add the parameters
HttpPost httpPost = new HttpPost(url);
StringEntity entity = new StringEntity(jsonObj.toString(), HTTP.UTF_8);
entity.setContentType("application/json");
httpPost.setEntity(entity);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(httpPost);

用curl可执行如下命令:

curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}'

用jQuery:

$.ajax({
url:url,
type:"POST",
data:data,
contentType:"application/json; charset=utf-8",
dataType:"json",
success: function(){
...
}
})
php用cUrl实现:

$data = array("name" => "Hagrid", "age" => "36");
$data_string = json_encode($data);
$ch = curl_init(');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$result = curl_exec($ch);

。。。

❷ Java web中怎样取得Android通过post发送的json数据

一. JSON的数据格式 a) 按照最简单的形式,可以用下面这样的 JSON 表示名称/值对: { "firstName": "Brett" } b) 可以创建包含多个名称/值对的记录,比如: { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中国" } c) 可以创建值的数组 { "people": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中国" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets中国" } ]} d) 当然,可以使用相同的语法表示多个值(每个值包含多个记录): { "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中国" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets中国" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" } ] } 注意,在不同的主条目(programmers、authors 和 musicians)之间,记录中实际的名称/值对可以不一样。JSON 是完全动态的,允许在 JSON 结构的中间改变表示数据的方式。 二. 在 JavaScript 中使用 JSON JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。 二.一 将 JSON 数据赋值给变量 例如,可以创建一个新的 JavaScript 变量,然后将 JSON 格式的数据字符串直接赋值给它: var people = { "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中国" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets中国" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" } ] } 二.二 访问数据 将这个数组放进 JavaScript 变量之后,就可以很轻松地访问它。实际上,只需用点号表示法来表示数组元素。所以,要想访问 programmers 列表的第一个条目的姓氏,只需在JavaScript 中使用下面这样的代码: people.programmers[0].lastName; 注意,数组索引是从零开始的。 二.三 修改 JSON 数据 正如访问数据,可以按照同样的方式修改数据: people.musicians[一].lastName = "Rachmaninov"; 二.四 转换回字符串 a) 在 JavaScript 中这种转换也很简单: String newJSONtext = people.toJSONString(); b) 可以将任何 JavaScript 对象转换为 JSON 文本。并非只能处理原来用 JSON 字符串赋值的变量。为了对名为 myObject 的对象进行转换,只需执行相同形式的命令: String myObjectInJSON = myObject.toJSONString(); 说明:将转换回的字符串作为Ajax调用的字符串,完成异步传输。 小结:如果要处理大量 JavaScript 对象,那么 JSON 几乎肯定是一个好选择,这样就可以轻松地将数据转换为可以在请求中发送给服务器端程序的格式。 三. 服务器端的 JSON 三.一 将 JSON 发给服务器 a) 通过 GET 以名称/值对发送 JSON 在 JSON 数据中会有空格和各种字符,Web 浏览器往往要尝试对其继续编译。要确保这些字符不会在服务器上(或者在将数据发送给服务器的过程中)引起混乱,需要在JavaScript的escape()函数中做如下添加: var url = "organizePeople.php?people=" + escape(people.toJSONString()); request.open("GET", url, true); request.onreadystatechange = updatePage; request.send(null); b) 利用 POST 请求发送 JSON 数据 当决定使用 POST 请求将 JSON 数据发送给服务器时,并不需要对代码进行大量更改,如下所示: var url = "organizePeople.php?timeStamp=" + new Date().getTime(); request.open("POST", url, true); request.onreadystatechange = updatePage; request.setRequestHeader("Content-Type", "application/x-至美-form-urlencoded"); request.send(people.toJSONString()); 注意:赋值时格式必须是var msg=eval('(' + req.responseText + ')'); 三.二 在服务器上解释 JSON a) 处理 JSON 的两步骤。 针对编写服务器端程序所用的语言,找到相应的 JSON 解析器/工具箱/帮助器 API。 使用 JSON 解析器/工具箱/帮助器 API 取得来自客户机的请求数据并将数据转变成脚本能理解的东西。 b) 寻找 JSON 解析器 寻找 JSON 解析器或工具箱最好的资源是 JSON 站点。如果使用的是 Java servlet,json.org 上的 org.json 包就是个不错的选择。在这种情况下,可以从 JSON Web 站点下载 json.zip 并将其中包含的源文件添加到项目构建目录。编译完这些文件后,一切就就绪了。对于所支持的其他语言,同样可以使用相同的步骤;使用何种语言取决于您对该语言的中国程度,最好使用您所熟悉的语言。 c) 使用 JSON 解析器 一旦获得了程序可用的资源,剩下的事就是找到合适的方法进行调用。如果在 servlet 中使用的是 org.json 包,则会使用如下代码: public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { StringBuffer jb = new StringBuffer(); String line = null; try { BufferedReader reader = request.getReader(); while ((line = reader.readLine()) != null) jb.append(line); } catch (Exception e) { //report an error } try { JSONObject jsonObject = new JSONObject(jb.toString()); } catch (ParseException e) { // crash and burn throw new IOException("Error parsing JSON request string"); } // Work with the data using methods like... // int someInt = jsonObject.getInt("intParamName"); // String someString = jsonObject.getString("stringParamName"); // JSONObject nestedObj = jsonObject.getJSONObject("nestedObjName"); // JSONArray arr = jsonObject.getJSONArray("arrayParamName"); // etc...

❸ php解析android客户端post的json字符串

你在最开始先

var_mp($_POST['json']);

了没?

应该是你传过来的post值魔术转义了,你需要去掉魔术转义

把第一行改成

$received_json=stripslashes($_POST['json']);

后面的不改,再试试看。

❹ Android如何传输参数给一个url接口 参数是json格式

一般传输参数使用json类型或者map类型都是使用post方法。

使用json数据格式发送信息向服务器端:
HttpClient httpClient = new DefaultHttpClient();
try {
HttpPost httpPost = new HttpPost(BASIC_URL + url);
List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();
JSONObject jsonObject = new JSONObject();
JSONObject jsonObject2 = new JSONObject();
jsonObject.put("uemail", userbean.getEmail());
jsonObject.put("password", userbean.getPassword());
jsonObject2.put("userbean", jsonObject);
nameValuePair.add(new BasicNameValuePair("jsonString", jsonObject
.toString()));
Log.i("lifeweeker", jsonObject2.toString());
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));

❺ android volley stringrequest post中的getparams怎么把json数据提交上去

1.客户端以普通的post方式进行提交,服务端返回字符串
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
StringRequest stringRequest = new StringRequest(Request.Method.POST,httpurl,
new Response.Listener<String>() {
@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<String, String> getParams() {
//在这里设置需要post的参数
Map<String, String> map = new HashMap<String, String>();
map.put("name1", "value1");
map.put("name2", "value2");
return params;
}
};
requestQueue.add(stringRequest);

2.客户端以json串的post请求方式进行提交,服务端返回json串
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
Map<String, String> map = new HashMap<String, String>();
map.put("name1", "value1");
map.put("name2", "value2");
JSONObject jsonObject = new JSONObject(params);
JsonRequest<JSONObject> jsonRequest = new JsonObjectRequest(Method.POST,httpurl, jsonObject,
new Response.Listener<JSONObject>() {
@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<String, String> getParams() {
// Map<String, String> map = new HashMap<String, String>();
// map.put("name1", "value1");
// map.put("name2", "value2");

// return params;
// }

❻ 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访问后台接口就可以了
我不知道你说的是不是这个意思,希望帮到你

热点内容
关系数据库实时数据库 发布:2025-05-17 09:43:07 浏览:874
去培训编程 发布:2025-05-17 09:41:16 浏览:700
android控制屏幕关闭 发布:2025-05-17 09:32:23 浏览:147
excel的快速访问工具栏 发布:2025-05-17 09:14:58 浏览:1
android360源码 发布:2025-05-17 09:11:47 浏览:76
步科编程软件 发布:2025-05-17 09:09:18 浏览:824
ps4密码设置有什么要求 发布:2025-05-17 08:49:16 浏览:70
文本编译工具 发布:2025-05-17 08:47:47 浏览:3
phpc语言 发布:2025-05-17 08:45:30 浏览:806
苹果6s怎么设置4位密码 发布:2025-05-17 08:41:14 浏览:180