数据格式汇总-js

CreateTime--2016年10月12日09:28:09
Author:Marydon
数据格式汇总
一、数据格式介绍
标准的json格式--{"键":值,"键":值,"键":值}(值可以是数字,不加双引号;也可以是字符串,需加双引号;值也可以包含一个对象)
  格式一:值存储的是多个对象

{"data":[{"TERM":"第一期","WANGWU":199,"LISI":229,"ZHAOLIU":233,"SANQI":234,"ZHANGSAN":233},{"TERM":"第二期","WANGWU":156,"LISI":186,"ZHAOLIU":179,"SANQI":206,"ZHANGSAN":234},{"TERM":"第三期","WANGWU":133,"LISI":161,"ZHAOLIU":246,"SANQI":185,"ZHANGSAN":240},{"TERM":"第四期","WANGWU":194,"LISI":126,"ZHAOLIU":190,"SANQI":207,"ZHANGSAN":229},{"TERM":"第五期","WANGWU":149,"LISI":166,"ZHAOLIU":209,"SANQI":174,"ZHANGSAN":197}],"code":0,"expMsg":"","msg":"操作成功"}

  格式二:多个对象组成的数组

var row = ‘[{"TERM":"第一期","WANGWU":199,"LISI":229,"ZHAOLIU":233,"SANQI":234,"ZHANGSAN":233},{"TERM":"第二期","WANGWU":156,"LISI":186,"ZHAOLIU":179,"SANQI":206,"ZHANGSAN":234},{"TERM":"第三期","WANGWU":133,"LISI":161,"ZHAOLIU":246,"SANQI":185,"ZHANGSAN":240},{"TERM":"第四期","WANGWU":194,"LISI":126,"ZHAOLIU":190,"SANQI":207,"ZHANGSAN":229},{"TERM":"第五期","WANGWU":149,"LISI":166,"ZHAOLIU":209,"SANQI":174,"ZHANGSAN":197}]‘;

  赋值给数组

var xAxisValues = [];//X轴坐标值
var jsonObj = eval("("+row+")");//转换成了由Object类型的元素组成的数组
/* 这种方式不行,foreach只能遍历list集合,不能用于迭代数组
* $(jsonObj).foreach(function(index,value) {
* shuzu.push(value.TERM);
* });
*/
/* 也不能使用这种迭代方式(js不支持这种迭代方式)
* for (Object json:jsonObj) {
* shuzu.push(json.TERM);
* }
*/
/*遍历数组只能使用for循环*/
for (var i = 0; i <jsonObj.length; i++) {
  shuzu.push(jsonObj[i].TERM);
}
console.log(shuzu);//["第一期", "第二期", "第三期", "第四期", "第五期"]

UpdateTime--2016年10月25日11:37:09

json格式取值问题
  a.json格式的字符串取值

var jsonStr = ‘{"data":[{"FSTATE":"1","FRCODE":"410000","FZJM":"YFBJK","ROWNO":"1","FREMARK":"","FDEPTNAME":"预防保健科","FPLVCODE":"","FDEPTCODE":"01"},{"FSTATE":"1","FRCODE":"410000","FZJM":"QKYLK","ROWNO":"2","FREMARK":"","FDEPTNAME":"全科医疗科","FPLVCODE":"","FDEPTCODE":"02"},{"FSTATE":"1","FRCODE":"410000","FZJM":"NK","ROWNO":"3","FREMARK":"","FDEPTNAME":"内科","FPLVCODE":"","FDEPTCODE":"03"},{"FSTATE":"1","FRCODE":"410000","FZJM":"WK","ROWNO":"4","FREMARK":"","FDEPTNAME":"外科","FPLVCODE":"","FDEPTCODE":"04"},{"FSTATE":"1","FRCODE":"410000","FZJM":"FCK","ROWNO":"5","FREMARK":"","FDEPTNAME":"妇产科","FPLVCODE":"","FDEPTCODE":"05"}],"code":0,"msg":"操作成功!","expMsg":""}‘;

  取值方法

//取对象
var jsonObj = eval(‘(‘+jsonStr+‘)‘);
console.log(jsonObj.msg);
//取数组元素
var jsonObj = eval(‘(‘+jsonStr+‘)‘);
var jsonObj2 = jsonObj.data;
for (var i = 0; i <jsonObj2.length; i++) {
  console.log(jsonObj2[i].FDEPTNAME);
}

  b.json格式取值

var jsonStr = {"data":[{"FSTATE":"1","FRCODE":"410000","FZJM":"YFBJK","ROWNO":"1","FREMARK":"","FDEPTNAME":"预防保健科","FPLVCODE":"","FDEPTCODE":"01"},{"FSTATE":"1","FRCODE":"410000","FZJM":"QKYLK","ROWNO":"2","FREMARK":"","FDEPTNAME":"全科医疗科","FPLVCODE":"","FDEPTCODE":"02"},{"FSTATE":"1","FRCODE":"410000","FZJM":"NK","ROWNO":"3","FREMARK":"","FDEPTNAME":"内科","FPLVCODE":"","FDEPTCODE":"03"},{"FSTATE":"1","FRCODE":"410000","FZJM":"WK","ROWNO":"4","FREMARK":"","FDEPTNAME":"外科","FPLVCODE":"","FDEPTCODE":"04"},{"FSTATE":"1","FRCODE":"410000","FZJM":"FCK","ROWNO":"5","FREMARK":"","FDEPTNAME":"妇产科","FPLVCODE":"","FDEPTCODE":"05"}],"code":0,"msg":"操作成功!","expMsg":""};
//取对象
console.log(jsonStr.msg);
//取数组元素
//console.log(jsonStr.data);不能这样
var jsonObj2 = eval(jsonStr.data);
for (var i = 0; i <jsonObj2.length; i++) {
    console.log(jsonObj2[i].FDEPTNAME);
}

  c.json数组字符串格式的取值

var jsonStr = ‘[{"FSTATE":"1","FRCODE":"410000","FZJM":"YFBJK","ROWNO":"1","FREMARK":"","FDEPTNAME":"预防保健科","FPLVCODE":"","FDEPTCODE":"01"},{"FSTATE":"1","FRCODE":"410000","FZJM":"QKYLK","ROWNO":"2","FREMARK":"","FDEPTNAME":"全科医疗科","FPLVCODE":"","FDEPTCODE":"02"},{"FSTATE":"1","FRCODE":"410000","FZJM":"NK","ROWNO":"3","FREMARK":"","FDEPTNAME":"内科","FPLVCODE":"","FDEPTCODE":"03"},{"FSTATE":"1","FRCODE":"410000","FZJM":"WK","ROWNO":"4","FREMARK":"","FDEPTNAME":"外科","FPLVCODE":"","FDEPTCODE":"04"},{"FSTATE":"1","FRCODE":"410000","FZJM":"FCK","ROWNO":"5","FREMARK":"","FDEPTNAME":"妇产科","FPLVCODE":"","FDEPTCODE":"05"}]‘;
//取数组元素
var jsonObj = eval(‘(‘+jsonStr+‘)‘);
for (var i = 0; i <jsonObj.length; i++) {
    console.log(jsonObj[i].FZJM);
}

  d.json格式数组的取值

var jsonStr = [{"FSTATE":"1","FRCODE":"410000","FZJM":"YFBJK","ROWNO":"1","FREMARK":"","FDEPTNAME":"预防保健科","FPLVCODE":"","FDEPTCODE":"01"},{"FSTATE":"1","FRCODE":"410000","FZJM":"QKYLK","ROWNO":"2","FREMARK":"","FDEPTNAME":"全科医疗科","FPLVCODE":"","FDEPTCODE":"02"},{"FSTATE":"1","FRCODE":"410000","FZJM":"NK","ROWNO":"3","FREMARK":"","FDEPTNAME":"内科","FPLVCODE":"","FDEPTCODE":"03"},{"FSTATE":"1","FRCODE":"410000","FZJM":"WK","ROWNO":"4","FREMARK":"","FDEPTNAME":"外科","FPLVCODE":"","FDEPTCODE":"04"},{"FSTATE":"1","FRCODE":"410000","FZJM":"FCK","ROWNO":"5","FREMARK":"","FDEPTNAME":"妇产科","FPLVCODE":"","FDEPTCODE":"05"}];
//取数组元素
var jsonObj = eval(jsonStr);
for (var i = 0; i <jsonObj.length; i++) {
    console.log(jsonObj[i].FZJM);
}

小结:

  如果是json格式字符串,取值用eval(‘(‘+json格式字符串+‘)‘);
  如果是json格式数据,取值用eval(json格式);

java-Map格式

{data=[{TERM=第一期, WANGWU=199, LISI=229, ZHAOLIU=233, SANQI=234, ZHANGSAN=233},{TERM=第二期, WANGWU=156, LISI=186, ZHAOLIU=179, SANQI=206, ZHANGSAN=234}, {TERM=第三期, WANGWU=133, LISI=161, ZHAOLIU=246, SANQI=185, ZHANGSAN=240}, {TERM=第四期, WANGWU=194, LISI=126, ZHAOLIU=190, SANQI=207, ZHANGSAN=229},{TERM=第五期, WANGWU=149, LISI=166, ZHAOLIU=209, SANQI=174, ZHANGSAN=197}], code=0, expMsg=, msg=操作成功}
/**
 * 在js中使用EL表达式获取后台返回的数据
 */
var row = ‘${model.data}‘;

  row 代表的是

[{TERM=第一期, WANGWU=199, LISI=229, ZHAOLIU=233, SANQI=234, ZHANGSAN=233}, {TERM=第二期, WANGWU=156, LISI=186, ZHAOLIU=179, SANQI=206, ZHANGSAN=234}, {TERM=第三期, WANGWU=133, LISI=161, ZHAOLIU=246, SANQI=185, ZHANGSAN=240}, {TERM=第四期, WANGWU=194, LISI=126, ZHAOLIU=190, SANQI=207, ZHANGSAN=229}, {TERM=第五期, WANGWU=149, LISI=166, ZHAOLIU=209, SANQI=174, ZHANGSAN=197}]
/**不能用for循环
 * for (var i =0; i<row.length; i++) {
 *    xAxisValues.push(‘${row[i].TERM}‘);
 * }
 */
只能用
    jstl标签库的c标签迭代
    <c:forEach var="row" items="${model.data}">
        xAxisValues.push(‘${row.TERM}‘);
    </c:forEach>
    console.log(xAxisValues);
/*
 * 在js中也可以使用小脚本获取后台返回的数据
 */
//var test = ‘<%=request.getAttribute("model")%>‘;
//{data=[{TERM=第二期, WANGWU=156, LISI=186, ZHAOLIU=179, SANQI=206, ZHANGSAN=234}, {TERM=第三期, WANGWU=133, LISI=161, ZHAOLIU=246, SANQI=185, ZHANGSAN=240}, {TERM=第五期, WANGWU=149, LISI=166, ZHAOLIU=209, SANQI=174, ZHANGSAN=197}, {TERM=第一期, WANGWU=199, LISI=229, ZHAOLIU=233, SANQI=234, ZHANGSAN=233}, {TERM=第四期, WANGWU=194, LISI=126, ZHAOLIU=190, SANQI=207, ZHANGSAN=229}], code=0, expMsg=, msg=操作成功}

二、数据格式间的相互转化

在js中,json格式的字符串与Object类型可以相互转化
  a.json格式字符串转换成Object类型的数组

var jsonObj = eval("("+row+")");
console.log(jsonObj);
//"[object Object],[object Object],[object Object],[object Object],[object Object]"

  b.Object类型转化成json字符串

var str = JSON.stringify(jsonObj);
console.log(str);
//"[{"TERM":"第一期","WANGWU":199,"LISI":229,"ZHAOLIU":233,"SANQI":234,"ZHANGSAN":233},{"TERM":"第\t\t 二期","WANGWU":156,"LISI":186,"ZHAOLIU":179,"SANQI":206,"ZHANGSAN":234},{"TERM":"第三\t\t 期","WANGWU":133,"LISI":161,"ZHAOLIU":246,"SANQI":185,"ZHANGSAN":240},{"TERM":"第四\t\t\t 期","WANGWU":194,"LISI":126,"ZHAOLIU":190,"SANQI":207,"ZHANGSAN":229},{"TERM":"第五\t\t\t 期","WANGWU":149,"LISI":166,"ZHAOLIU":209,"SANQI":174,"ZHANGSAN":197}]"
时间: 2024-12-17 01:31:56

数据格式汇总-js的相关文章

数据格式汇总2-java

二.数据格式间的相互转化 1. List集合转换成json代码 List list = newArrayList(); list.add( "first" ); list.add( "second" ); JSONArray jsonArray2 =JSONArray.fromObject( list ); 2. Map集合转换成json代码 Map map = newHashMap(); map.put("name","json&qu

20150605面试汇总--js与java的区别

javascript与java都是编程语言,不同在于代码格式不同: js基于对象,java是面向对象: java是强变量,编译前必须作出声明,js是弱变量,使用前不需做声明: JavaScript 是一种嵌入式脚本文件,直接插入网页,有浏览器一边解释一边执行. java 语言不一样,他必须在JAVA虚拟机上运行.而且事先需要进行编译. JAVA的语法规则比JavaScript要严格的多,功能要强大的多. 更多信息参考:http://blog.csdn.net/dys1990/article/de

JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换

首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是js中JSON格式的字符串,它只是一个js的字符串. var JSONStr2 = "{'name' : '张三'}"; 我们看JSON语法中对于字符串的定义:是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义.一个字符(character)即一个单独的字符串(characte

ajax数据显示,使用js通用模板

最近用ajax获取数据,上级要求要自己写一个js模板,以往看到的js模板,大都数都是在js里面拼接的,现在换一种比较简单的写法, 通过ajax获取数据源,js模板循环显示数据 1 function GetBalance() { 2 var star = $("#starsj").val(); 3 var end = $("#endsj").val(); 4 var data = { opt: "GetAllotment", In: star, O

EasyUI:datagrid数据汇总

EasyUI:datagrid数据汇总 js代码: var total=0;//全局变量 $(function(){ $('#tablebudgetdata').datagrid({ title:' ', //标题 onLoadSuccess: function (data) {//表单加载完后再加载此方法 sumPrice(data); } }); }); //求总列的sum function sumPrice(data){ var total = 0; var rows = $("#tabl

JS入门六

复习: 点运算符  xxx.sss  xxx是对象    sss是属性和方法. 任何数据类型都是拥有属性和方法的 js数据类型具体分析 (1)基础类型:string   number  boolean  null  defined (2)引用(复合)类型:object     json  array等 js的关键字:var function new var 声明变量   function 定义函数  new 定义对象 方法:xx.fn() fn是方法  方法归属前面的对象 函数:fn()  是函

js数据三大储存格式

一.String格式  做为一个前端者 你第一手得到的数据都是字符串 二.数组格式 1.定义  var arr=["张三","李四","王五"]; 数据通过索引去查找对应的元素   arr[3] 2.数组的遍历 For循环去遍历数组中的元素 3.数组的其他定义方式 Var arr=new Array() 4.指定长度式定义 三,json格式 定义 var obj={"name":"张三","age

JS中数据类型转换

JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 object - 普通对象 - 数组对象 (Array) - 正则对象 (RegExp) - 日期对象 (Date) - 数学函数 (Math) ... 函数 function 真实项目中,根据需求,我们往往需要把数据类型之间进行转换 把其它数据类型转换为number类型 1.发生的情况 isNaN检测的

访问修饰限定符的简单总结、final/abstruct/interface对类的限制、自动加载机制、序列化与反序列化【数据持久化和对象的序列化问题】、对象的拷贝(按引用是因为对象标识)和克隆(__clone方法中的this指向)

1.针对访问修饰限定符的理解只需要两点:(1)针对的是类的概念和访问代码的位置来确定是否能够访问(2)对访问修饰限定符的使用时只需要对该成员的使用场景注意即可[也就是内部,继承类,外部进行访问的权限] 不需要对内部进行太多理解[需要对php底层理解时进行理解] [重点][用途]通过访问修饰限定符将内部成员的权限合理的限制,然后再使用公共接口来调用这个基本服务,保证外部不能访问其内部的构件[这样既能够通过类内的设置,将内部的功能实现更好的限制,只有最外层的接口可以正常被访问到,而不了解内部的业务]