当前位置: 首页 > news >正文

JSONObject和JSONArray区别及基本用法

一、JSONObject和JSONArray的数据表示形式

JSONObject的数据是用 {  } 来表示的,

        例如:   { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null  }  

而JSONArray,顾名思义是由JSONObject构成的数组,用  [ { } , { } , ......  , { } ]  来表示

       例如:   [ {  "id" : "123", "courseID" : "huangt-test", "title" : "提交作业" }  ,  {  "content" : null, "beginTime" : 1398873600000  "endTime" } ] ; 

        表示了包含2个JSONObject的JSONArray。

可以看到一个很明显的区别,一个用的是 {  }  ,一个最外面用的是 [  ]  ;

二、如何从字符串String获得JSONObject对象和JSONArray对象

          JSONObject  jsonObject  = new JSONObject ( String  str);

         JSONArray jsonArray = new JSONArray(String    str  ) ;


三、如何从JSONArray中获得JSONObject对象

       大家可以把JSONArray当成一般的数组来对待,只是获取的数据内数据的方法不一样

                   JSONObject   jsonObject = (JSONObject)jsonArray.get(i);

                   JSONObject   jsonObject  =  jsonArray.getJSONObject(i) ;  

  两者都可。第一种注意转换 


四、获取JSON内的数据

      int   jid= jsonObject.getInt ( "id" ) ;    //  这里的jid得到的数据就是123.

      String  jcourse=jsonObject.getString( " courseID") ;   // 这里的jcourse得到的数据就是huangt-test.

     Strirng jcourse = jsonObject.get("courseID").toString();

 五、一般地 为键值对

                        eg:{  name:"xm", value:"张三"}

                         String jname = null;

                         if(jsonObject.get("name").equals("xm")){

                          jname=jsonObject.get("value").toString();

                        }

                    

 六:  JSON.parse( str )    --> 把字符串转为JSON对象

         JSON.stringify( obj ) -->把对象解析为字符串

转载于:https://www.cnblogs.com/xuanbo/p/6913585.html

相关文章:

  • Idea中使用git
  • 怎么爆加密过后的前端JS
  • 201521123016《Java程序设计》第14周学习总结
  • datenode节点超时时间设置,Hadoop启动不正常,HDFS冗余数据块的自动删除,NameNode安全模式问题,ntp时间服务同步,机架感知配置...
  • 航天科工发布中国首个工业互联网云平台
  • sql语句查询最新记录
  • Gurobi + CVX + Matlab
  • MooseFS源代码分析(二)
  • 积累各种好的链接
  • 开肩
  • 2018网易在线笔试题
  • 面试题:Student s = new Student();在内存中做了哪些事情?即创建一个对象做了哪些事情...
  • Unity Shader-后处理:简单均值模糊
  • AppScan扫描
  • etcd使用入门(二)
  • [deviceone开发]-do_Webview的基本示例
  • Brief introduction of how to 'Call, Apply and Bind'
  • chrome扩展demo1-小时钟
  • codis proxy处理流程
  • iOS 系统授权开发
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Java深入 - 深入理解Java集合
  • Puppeteer:浏览器控制器
  • python学习笔记 - ThreadLocal
  • 程序员最讨厌的9句话,你可有补充?
  • 树莓派 - 使用须知
  • 我建了一个叫Hello World的项目
  • 由插件封装引出的一丢丢思考
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • #QT(串口助手-界面)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (二)PySpark3:SparkSQL编程
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ... 是什么 ?... 有什么用处?
  • .aanva
  • .net 4.0发布后不能正常显示图片问题
  • .net core webapi 大文件上传到wwwroot文件夹
  • .Net FrameWork总结
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • @Bean, @Component, @Configuration简析
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • [20171113]修改表结构删除列相关问题4.txt
  • [20190416]完善shared latch测试脚本2.txt
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [ACTF2020 新生赛]Upload 1
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [bzoj1038][ZJOI2008]瞭望塔
  • [C#] 基于 yield 语句的迭代器逻辑懒执行
  • [C#小技巧]如何捕捉上升沿和下降沿