JSON在线解析

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
**全国地表水水质监测系统 断面点位数据集** 发布于:2024-03-02 18:33 AliRedPacket首页红包 发布于:2023-12-23 15:41 main主程序 发布于:2023-12-23 15:18 扬秋OL(autojs) 发布于:2023-12-23 15:43 json教师各项分数 发布于:2023-12-09 16:39 员工工作量 发布于:2023-11-07 15:17 浪潮POST 发布于:2023-10-30 11:22 报账单信息 发布于:2023-10-20 14:32 我带会员单位岁啊哈幅度缺乏撒网缺乏v 发布于:2022-09-27 08:28 环保token 发布于:2022-05-12 21:12 流水线的保存的json数据,把里面所有的job的几个信息摘出来,取出每个job的jobName、jobType、categoryId、realJob 内容。 发布于:2022-04-22 19:17 爱上CAD 发布于:2022-02-17 23:03 中国省市区 json 发布于:2021-10-15 13:39 供应商带出币种 发布于:2021-07-23 10:19 拉取采购收货 发布于:2021-07-13 16:14 解析IP地址 发布于:2021-04-12 20:45 OA --> CMDB_DCOS的北向数据 发布于:2021-02-02 15:00 测试json 是否正确 发布于:2021-01-13 11:06 python题库 发布于:2021-01-06 10:31 json 解析 发布于:2020-10-18 15:05 电池图所需数据 发布于:2020-10-08 18:32 电池图所需数据 发布于:2020-09-20 13:57 电池图所需数据 发布于:2020-09-20 13:57 JSON在线解析,JSON格式化 发布于:2020-09-16 12:10 电池图所需数据 发布于:2020-09-02 11:35 电池图所需数据 发布于:2020-08-25 17:50 建立一个mock测试 json 数据。 发布于:2020-08-22 10:32 地理缩写对照 发布于:2020-07-08 13:28 v2ray-config 发布于:2021-05-11 13:03 JSON在线解析,JSON格式化 发布于:2020-06-20 15:04 [更多]
显示目录

js / jquery解析json和分布式格式



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

js / jquery解析json和分布式格式的方法详解

在解析之前弄清楚几个概念:复制,关联数组以及json之间有什么区别和联系点?

一,概念介绍

1,数组

ECMAScript v3规定了多个直接量的语法,JavaScript 1.2和JScript 3.0实现了它。可以把—用逗号分隔的表达式列表放在方括号中,创建并初始化—个。将成为附加元素。例如:

var a = \[1,true,'abc'\];

ps:必须方括号括号。

2,关联关联

(1)语法:

var myhash= {”key1″:”val1″, “key2″:”val2″ };//obj

(2)var

myhash= {key1:”val1″, key2:”val2″ };//obj-也可以

ps:跟json格式几乎相同,但是json格式要求更严格(里面的键值对必须使用双引号),但json只能作为一种格式标准,如果要进行进行操作必须转换成关联关联对象(obj )。

2,简单操作
(1)向哈希关联添加添加键值

// 添加一个新键 newkey ,键值为 newval
 myhash[”newkey”] = “newval”;

(2)删除哈希关联数组已有键值

// 删除一个键 newkey ,同时,该键值对应的 newval 也就消失了
 delete myhash[”newkey”];

(3)遍历哈希关联数组

// 遍历整个hash 数组 
 for (key in myhash) {
 val = myhash[key];
 }
(4)获得值
 方式1.myhash.key1
 方式2.myhash.key2

3,json
格式要求:

{“ key1”:“ val1”,“ key2”:“ val2”};

//严格按照此格式,操作可遵循关联数组的操作

二,前后台互动中几个关键点

1.当服务器发送的数据不是一条json,更多多条json时,则应连接并与关联的排列组装示例
例如:

var objs = \[{id:1,name:'n\_1'},{id: 2,名称:“ n\_2”}\];

2.至始至终服务器给客户端的数据都只是串联,因此为了让其能够在js中进行进行必要的操作,可以通过eval()进行转换成js替代对象。

因此jQuey中提供了$ .parseJSON()是有局限的,如果是上面1提到的这种情况则就必须使用eval()进行转换,然后再通过$ .each(objs,function(i,o){...} )进行操作

三,具体的实例代码

页面代码:

代码如下:

<body>
 <input type="button" value="send ajax json" onclick="sendAjaxByjson();"/>
 <input type="button" value="send ajax array" onclick="sendAjaxByarray();"/>
</body>

 <script type="text/javascript">
  function sendAjaxByjson(){
   $.post("json",{},function(data){
    var obj=data;
    alert(typeof obj);//string
    //var a=eval(obj);不解,不注释则会报错..
    var strToobj=$.parseJSON(obj);
    alert(strToobj.name);
    alert(typeof strToobj)//obj
    var obja={'name':'techbirds','age':'23','sex':'male'};
    alert(typeof obja);//obj
    alert(obja['name']+":"+obja.age);
    delete obja['name'];
   });
  }
  function sendAjaxByarray(){
   $.post("array",{},function(data){
    var str=data;
    alert(typeof str);//string
    alert(typeof eval(str));//object
    var obja=[1,2,3,4,5];
    alert(typeof obja);//object

   });
  }
 </script>

后台代码:

代码如下:

@Override
 protected void service(HttpServletRequest req, HttpServletResponse reps)
   throws ServletException, IOException {
  Map<String, Object> jsonMap=new HashMap<String, Object>();
  jsonMap.put("name", "techbirds");
  jsonMap.put("age", 23);
  jsonMap.put("sex", "male");
  reps.getWriter().print(JSONObject.fromObject(jsonMap).toString());
  reps.getWriter().flush();
  reps.getWriter().close();
 }

代码如下:

@Override
 protected void service(HttpServletRequest req, HttpServletResponse reps)
   throws ServletException, IOException {
  String array="[1,2,3,4,5,6]";
  reps.getWriter().print(array);
  reps.getWriter().flush();
  reps.getWriter().close();
 }

jQuery解析JSON数组文本

一个json对象数组的json字符串:

var str=[{"Price":12,"Name":"aaa","Age",22},{"Price":24,"Name":"bbb","Age",33}];

在前台,使用jquery的parseJSON方法来进行解析,并用jquery的foreach的方法来进行解析,代码如下:

var jsonarray= $.parseJSON(str);
alert(jsonarray);
$.each(jsonarray, function (i, n)
{
    alert(n.Price);
}

对于不同版本的jquery来说,它们解析的json对象数组的字符串格式也不同,如果上述代码无法解析,就用eval函数来包裹一下,代码如下:

var jsonarray= $.parseJSON(str);
$.each(eval("(" + jsonarray+ ")"), function (i, n) {
    alert(n.Price);
}

在解析json对象数组字符串的过程中,也可以使用alert来插入$ .parseJSON(str)解析后的结果,如果插入的链接中显示对象,则说明解析成功了,可以通过对象。

属性名获得到对应属性的值,如果弹出的不是对象,则用eval()来进行包装一下形成对象,再获得对应属性的值。

由JSRUN为你提供的JSON在线运行、在线编译工具
        JSRUN提供的JSON 在线运行,JSON 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout