[Android]HttpPost之post请求传递Json数据

懒得打字

/**
     * 发送post请求传递Json
     */
    public void jieXi() {

        new Thread(new Runnable() {

            public void run() {
                // Json中的引号必须加 \ 转义
                String getLightJson = "{\"object\":\"light\",\"action\":\"get\"}";
                String jsonParent = getJsonParent(getLightJson);
                if (ifJsonParentOk(jsonParent)) {
                    ArrayList<light> query = getQuery(jsonParent);
                    for (light l : query) {
                        System.out.println("----------");
                        System.out.println("co2-->" + l.getCo2());
                        System.out.println("pm2.5-->" + l.getPm2_5());
                        System.out.println("----------");
                    }
                }
            }
        }).start();
    }

    /**
     * 返回Json
     *
     * @param json
     * @return
     */
    public String getJsonParent(String json) {
        try {
            URI uri = new URI(urlString);
            HttpPost mhttpPost = new HttpPost(uri);
            // 设置请求头
            mhttpPost.setHeader("Accept", "application/json");
            mhttpPost.setHeader("Content-Type", "application/json");
            // Json数据在这里
            HttpEntity mEntity = new StringEntity(json, HTTP.UTF_8);
            mhttpPost.setEntity(mEntity);
            // 发送请求
            HttpResponse response = new DefaultHttpClient().execute(mhttpPost);
            String str = EntityUtils.toString(response.getEntity());
            System.out.println("--->" + str);
            return str;
        } catch (Exception e) {

        }
        return "";
    }

    /**
     * 返回码是不是ok
     *
     * @param str
     * @return
     */
    public boolean ifJsonParentOk(String str) {
        try {
            jsonObject = new JSONObject(str);
            String result = jsonObject.getString("result");
            if (result.equals("ok")) {
                return true;
            }
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;
    }

    /**
     * 解析返回的json
     *
     * @param str
     * @return
     */
    public ArrayList<light> getQuery(String str) {
        ArrayList<light> arrayList = new ArrayList<light>();
        try {
            light _light = new light();
            jsonObject = new JSONObject(str);
            _light.setPm2_5(jsonObject.getString("pm2.5"));
            _light.setCo2(jsonObject.getString("co2"));
            arrayList.add(_light);
            return arrayList;
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return null;
    }
时间: 2024-11-09 00:51:05

[Android]HttpPost之post请求传递Json数据的相关文章

android通过httpClient请求获取JSON数据并且解析

android通过httpClient请求获取JSON数据并且解析:http://www.cnblogs.com/gzggyy/archive/2013/05/08/3066288.html Android--使用Http向服务器发送请求并取得返回结果,下载图片:http://www.2cto.com/kf/201307/229489.html Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据):http://blog.csdn.net/he

Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据)

form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multipart/form-data"> {# 这里必须要请求头格式才能把上传文件的对象传过去 enctype="multipart/form-data"#} 姓名 <input type="text" name="user">

基于Web Service的客户端框架搭建一:C#使用Http Post方式传递Json数据字符串调用Web Service

引言 前段时间一直在做一个ERP系统,随着系统功能的完善,客户端(CS模式)变得越来越臃肿.现在想将业务逻辑层以下部分和界面层分离,使用Web Service来做.由于C#中通过直接添加引用的方来调用Web Service的方式不够灵活,故采取手动发送Http请求的方式来调用Web Service.最后选择使用Post方式来调用Web Service,至于安全性和效率暂不考虑.在学习使用的过程,遇到了很多问题,也花了很长时间来解决,网上相关的帖子很少,如果各位在使用的过程中有一些问题难以解决,可

Android:使用Gson解析复杂的JSON数据

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,目前广泛使用.本文主要讲解android如何解析复杂格式的JSON数据,适合android初学者和初步接触JSON的人. 1.JSON相关介绍: 首先了解一下JSON的相关内容,JSON中的数据是以键值对的形式出现的.例如"name":"jack":这就是一个键值对,可以理解为name=jack.JSON中很重要的两个概念就是数组(array)和对象(object),初学者

Android Volley 库通过网络获取 JSON 数据

本文内容 什么是 Volley 库 Volley 能做什么 Volley 架构 演示 Volley 库通过网络获取 JSON 数据 参考资料 Android 关于网络操作一般都会介绍 HttpClient 以及 HttpConnection 这两个包.前者是 Apache 开源库,后者是 Android 自带 API.企业级应用,一般都会选择使用已经封装好的 http 框架.比较流行有 Volley.android-async-http.retrofit.okhttp.androidquery.

利用AXIS2传递JSON数据

Axis2是目前比较流行的WebService引擎.WebService被应用在很多不同的场景.例如,可以使用WebService来发布服务端 Java类的方法,以便使用不同的客户端进行调用.这样可以有效地集成多种不同的技术来完成应用系统.WebService还经常被使用在SOA中,用于 SOA各个部分交换数据.本文重点在于如何使用AXIS2引擎实现传递JSON数据. 博主本人由于项目需要,所以就查找了关于Web Service的文章.但碍于博主对Web的不熟,所以很多也就是按照网上教程做的.或

用easyui从servlet传递json数据到前端页面的两种方法

用easyui从servlet传递json数据到前端页面的两种方法 两种方法获取的数据在servlet层传递的方法相同,下面为Servlet中代码,以查询表中所有信息为例. //重写doGet方法 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stu

swift http请求返回json数据并解析

1 AppDelegate.swift // // AppDelegate.swift // QQDemo // // Created by 赵超 on 14-6-21. // Copyright (c) 2014年 赵超. All rights reserved. // import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? fun

Ace教你一步一步做Android新闻客户端(三) JSON数据解析

对于服务器端来说,返回给客户端的数据格式一般分为html.xml和json这三种格式,现在给大家讲解一下json这个知识点, 1 如何通过json-lib和gson这两个json解析库来对解析我们的json数据, 2 以及如何在我们的Android客户端解析来自服务器端的json数据,并更新到UI当中.(下篇来讲) 一.什么是json json(Javascript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编