• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > JSON解析,json在线解析

JSON解析,json在线解析

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了json在线解析,json在线解析器,json在线解析工具,json在线解析格式化,json数据在线解析等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

JSON解析,json在线解析


 一、   JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。
     Json建构于两种结构:
     1、“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 如:     
        {
            “name”:”LiJinlun”,
            “age”:25
         }


    2、值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)如:
     {
        “students”:
        [
            {“name”:”LiJinlun”,“age”:25},
            {“name”:”liudehua”,”age”:51}
        ]
     }

二、java解析JSON步骤

 A、服务器端将数据转换成json字符串
      首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath路径下

     (这些可以到JSON-lib官网下载:http://json-lib.sourceforge.net/)

      然后将数据转为json字符串,核心函数是:
 public static String createJsonString(String key, Object value)
    {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put(key, value);
        return jsonObject.toString();

    }

B、客户端将json字符串转换为相应的javaBean
   1、客户端获取json字符串(因为android项目中已经集成了json的jar包所以这里无需导入)
public class HttpUtil
{
   
    public static String getJsonContent(String urlStr)
    {
        try
        {// 获取HttpURLConnection连接对象
            URL url = new URL(urlStr);
            HttpURLConnection httpConn = (HttpURLConnection) url
                    .openConnection();
            // 设置连接属性
            httpConn.setConnectTimeout(3000);
            httpConn.setDoInput(true);
            httpConn.setRequestMethod("GET");
            // 获取相应码
            int respCode = httpConn.getResponseCode();
            if (respCode == 200)
            {
                return ConvertStream2Json(httpConn.getInputStream());
            }
        }
        catch (MalformedURLException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return "";
    }

   
    private static String ConvertStream2Json(InputStream inputStream)
    {
        String jsonStr = "";
        // ByteArrayOutputStream相当于内存输出流
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len = 0;
        // 将输入流转移到内存输出流中
        try
        {
            while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
            {
                out.write(buffer, 0, len);
            }
            // 将内存流转换为字符串
            jsonStr = new String(out.toByteArray());
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return jsonStr;
    }
}

2、获取javaBean
    public static Person getPerson(String jsonStr)
    {
        Person person = new Person();
        try
        {// 将json字符串转换为json对象
            JSONObject jsonObj = new JSONObject(jsonStr);
            // 得到指定json key对象的value对象
            JSONObject personObj = jsonObj.getJSONObject("person");

   &nbs

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • JSON解析,json在线解析
  • Json解析工具的选择,Json解析工具选择
  • 解析BroadcastReceiver之你需要了解的一些东东,broadcastreceiver
  • JSON解析,json在线解析

相关文章

  • 2017-05-26认识一下Kotlin语言 Android平台的Swift
  • 2017-08-02Android系统服务(一)解析ActivityManagerService(AMS)
  • 2017-05-26仿《雷霆战机》飞行射击手游开发--防破解,《雷霆战机》射击手
  • 2017-05-26android.view.InflateException: Binary XML file line #34: Error inflating class,
  • 2017-11-18android 8.0 应用启动崩溃?
  • 2017-05-26Android几种Tab的实现方法
  • 2017-05-26ConfigParser写配置文件乱序问题
  • 2017-05-26Android中AsyncTask基本用法与源码剖析(API 23)
  • 2017-05-26记第一次lua和C互相调用的例子
  • 2017-05-26Android 的系统架构,Android系统架构

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android-webview的使用小结,android-webview
    • [android] 手机卫士保存安全号码,android卫士
    • 管理音频播放(摘自Android官方培训课程中文版(v0.9.5))
    • 统计Git版本库每个人提交次数和代码的增加和删除行数脚本
    • Android GreenDAO3.0——entity建模,androidgreendao3.0
    • Activity按下2次退出,Activity2次退出
    • 安卓第五天笔记-对话框,安卓第五天笔记
    • Android用Intent来启动Service报“java.lang.IllegalArgumentException: Service Intent must be explicit”错误的解决方法,explicitintent
    • android post带数据请求方式,传递的数据格式包括json和map,androidjson
    • Android框架设计模式(五)——Singleton Method

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有