json的几种遍历

JSON和XML类似,只是说JSON更简单,更易存储

  1. 把它封装成JSON对象
  2. package itcast.cn;
  3. import org.json.JSONException;
  4. import org.json.JSONObject;
  5. public class Jasonexercise {
  6. /*
  7. * {
  8. "employees": [
  9. { "firstName":"Bill" , "lastName":"Gates" },
  10. { "firstName":"George" , "lastName":"Bush" },
  11. { "firstName":"Thomas" , "lastName":"Carter" }
  12. ]
  13. }
  14. * */
  15. public static void main(String[] args) throws Exception {
  16. //最外层只有[]或者{}
  17. //其中{}表示对象
  18. //[]表示数组
  19. //.对象模型
  20. //1.创建jason数据,也就是一个对象的数据串
  21. String Jason="{‘id‘:‘001‘,‘name‘:‘谢雨‘,‘age‘:‘18‘}";
  22. //封装成一个json对象
  23. JSONObject jsonObject = new JSONObject(Jason);
  24. String name = jsonObject.getString("name");
  25. System.out.println(name);
  26. String age = jsonObject.getString("age");
  27. System.out.println(age);
  28. }
  29. }
  30. 把它封装成JSON数组
  31. * */
  32. public static void main(String[] args) throws Exception {
  33. //[]里面是数组,里面放的是两个对象
  34. String ja = "[{‘id‘:‘001‘,‘name‘:‘谢雨‘,‘age‘:‘18‘},{‘id‘:‘001‘,‘name‘:‘老王‘,‘age‘:‘28‘}]";
  35. JSONArray jsonArray = new JSONArray(ja);
  36. //现在需要拿到老王的话。需要先获得这个数组的第二个对象
  37. JSONObject jsonObject = jsonArray.getJSONObject(1);
  38. String name = jsonObject.getString("name");
  39. String age = jsonObject.getString("age");
  40. System.out.println(name);
  41. System.out.println(age);
  42. 把它用对象遍历
  43. //其中{}表示对象
  44. //[]表示数组
  45. //.对象模型
  46. //1.创建jason数据,也就是一个对象的数据串
  47. String Jason="{‘id‘:‘001‘,‘name‘:‘谢雨‘,‘age‘:‘18‘}";
  48. //封装成一个json对象
  49. JSONObject jsonObject = new JSONObject(Jason);
  50. //这里是拿到所有的keys
  51. Iterator iterator = jsonObject.keys();
  52. //遍历这个迭代器
  53. while (iterator.hasNext()) {
  54. String key=(String)iterator.next();
  55. //通过key取值
  56. String value = jsonObject.getString(key);
  57. System.out.println(key+"="+value);
  58. }
  59. 把它用数组遍历
  60. //[]里面是数组,里面放的是两个对象
  61. String ja = "[{‘id‘:‘001‘,‘name‘:‘谢雨‘,‘age‘:‘18‘},{‘id‘:‘002‘,‘name‘:‘老王‘,‘age‘:‘28‘}]";
  62. JSONArray jsonArray = new JSONArray(ja);
  63. for (int i = 0; i < jsonArray.length(); i++) {
  64. JSONObject jsonObject = jsonArray.getJSONObject(i);
  65. Iterator iterator = jsonObject.keys();
  66. while (iterator.hasNext()) {
  67. String key = (String) iterator.next();
  68. String value = jsonObject.getString(key);
  69. System.out.println(key+"="+value);
  70. }
  71. }
时间: 2024-08-14 19:40:09

json的几种遍历的相关文章

遍历json的几种方式。

json(JavaScript Object Notation),json是一种多用于存储和交换文本信息的语法.他能够进行数据的传输,通常和ajax一起使用.它具有体积小.速度快,易解析等诸多优点. 使用json首先要学习如何获取json的数据.json类似Java里的map集合,两者的数据都是由键值对构成的.键可以使用引号,也可以不使用引号. 1.定义json //基本格式 var category= {"id": "1", 'name': "JavaS

DataTable 转换成 Json的3种方法

在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,Ajax异步请求的数据格式就是Json.鉴于此,我今天来分享将DataTable 转换成 Json的3种方法.换句话说如何在ASP.NET将一个DataTable序列化为 Json数组.或者如何从一个DataTable返回一个Json字符串.这篇文章将采用StringBuilder,JavaScriptSeri

谈谈vector容器的三种遍历方法

说明:本文仅供学习交流,转载请标明出处,欢迎转载! vector容器是最简单的顺序容器,其使用方法类似于数组,实际上vector的底层实现就是采用动态数组.在编写程序的过程中,常常会变量容器中的元素,那么如何遍历这些元素呢?本文给出三种遍历方法. 方法一:采用下标遍历 由于vector容器就是对一个动态数组的包装,所以在vector容器的内部,重载了[]运算符,函数原型为:reference operator [] (size_type n);所以我们可以采用类似于数组的方式来访问vector容

oc/object-c/ios哪种遍历NSArray/NSDictionary方式快?测试报告

做app的时候,总免不了要多次遍历数组或者字典.究竟哪种遍历方式比较快呢?我做了如下测试:首先定义测试用宏: ? 1 2 3 4 5 6 7 8 9 #define MULogTimeintervalBegin(INFO) NSTimeInterval start = [NSDate timeIntervalSinceReferenceDate];\ NSTimeInterval duration = 0;\ NSLog(@"MULogTimeintervalBegin:%@", IN

二叉树的创建和四种遍历(前序、先序、后序、层次、结点的层数、深度、叶子数等)—java描述

二叉树的创建和四种遍历(前序.先序.后序.层次.结点的层数.深度.叶子数等)—java描述 package javab; //树的结点类 public class TreeNode { String data; TreeNode leftChild,rightChild,next; public TreeNode(String data){ this.data=data; } public TreeNode(String data,TreeNode left,TreeNode right){ l

二叉树三种遍历(递归以及非递归实现)

package com.shiyeqiang.tree; import java.util.Stack; public class BiTree { public static void main(String[] args) { // 首先构造叶子节点 BiTree leafA1 = new BiTree(4); BiTree leafA2 = new BiTree(5); BiTree leafB1 = new BiTree(6); BiTree leafB2 = new BiTree(7)

二叉树总结—建树和4种遍历方式(递归&amp;&amp;非递归)

今天总结一下二叉树,要考离散了,求不挂!二叉树最重要的就是 建立.4种遍历方式,简单应用,如何判断两颗二叉树是否相似 二叉树分为 :1.完全二叉树  2.满二叉树 结构性质: 1).满二叉树 高度为h ,节点数则为 2^h - 1,且叶子节点全在最下层,且叶子节点数为2^(n-1)个{n代表二叉树层数,也叫深度} 2).n个节点的 完全二叉树 深度为 int(log2n)(以2为底n的对数)+ 1: 3).非空二叉树 叶子节点个数==双分支节点数+1 4).非空二叉树 某节点编号 n  若有左孩

java 完全二叉树的构建与四种遍历方法

本来就是基础知识,不能丢的太干净,今天竟然花了那么长的时间才写出来,记一下. 有如下的一颗完全二叉树: 先序遍历结果应该为:1  2  4  5  3  6  7 中序遍历结果应该为:4  2  5  1  6  3  7 后序遍历结果应该为:4  5  2  6  7  3  1 层序遍历结果应该为:1  2  3  4  5  6  7 二叉树的先序遍历.中序遍历.后序遍历其实都是一样的,都是执行递归操作. 我这记录一下层次遍历吧:层次遍历需要用到队列,先入队在出队,每次出队的元素检查是其是

Jquery中each的三种遍历方法

Jquery中each的三种遍历方法 $.post("urladdr", { "data" : "data" }, function(data) { $.each(data, function(n,value) { });}); 1.选择器+遍历 $('div').each(function (i){ i就是索引值 this 表示获取遍历每一个dom对象 }); 2.选择器+遍历 $('div').each(function (index,dom