JS中如何把JSON格式的字符串转化为一个对象或数组呢?

JS中如何把JSON格式的字符串转化为一个对象或数组呢?,第1张

JS中如何把JSON格式的字符串转化为一个对象数组呢?下面小编就为大家带来一篇js 转json格式的字符串为对象或数组(前后台)的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
一、前台
// 转换成对象
var myObject = JSONparse(_data);
alert("对象:"+myObjectmsg);
// 转换成数组
var myobj = eval("["+_data+"]");
for (var i = 0; i < myobjlength; i++) {
alert("数组:"+myobj[i]msg);
}
//把json格式的字符串转成JSON对象
var json1 = '{"department": "中兵","address": "北京","contacts": "李硕","telphone": "15201274666","email": "li_shilei@yeahNET","fax": "0108596666"}';
var json2 = '{"department": "中兵2","address": "北京2","contacts": "李硕2","telphone": "152012746662","email": "li_shilei2@yeahNet","fax": "01085966662"}';
var jsonObj = $parseJSON(json1); 或用eval方法
//把数组转成JSON对象
var arr=new Array();
arrpush(json1);
arrpush(json2);
var b=JSONstringify(arr)
二、后台
当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时。
首页导入 netsfjsonJSONArray和netsfjsonJSONObject 两个jar 包
String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; // 一个未转化的字符串
JSONArray json = JSONArrayfromObject(str ); // 首先把字符串转成 JSONArray 对象
if(jsonsize()>0){
for(int i=0;i<jsonsize();i++){
JSONObject job = jsongetJSONObject(i); // 遍历 jsonarray 数组,把每一个对象转成 json 对象
Systemoutprintln(jobget("name")+"=") ; // 得到 每个对象中的属性值
}
}
以上就是小编为大家带来的js 转json格式的字符串为对象或数组(前后台)的方法全部内容。

先回答问题:
1
2
3

<script>
"你的json格式数据字符串"replace(/:/g,',')
</script>
个人疑问:jsChart的Data属性赋值一般都是数组格式的,为什么要把json的冒号换成逗号呀?json格式里逗号也是关键字,是2个不同属性成员的分隔符。
建议是把json字符串转为对象数组
希望对你有用。

在C语言中,字符串是由字符数组表示的。同时,字符指针也可以理解成为字符串。所以,定义字符串变量就是定义字符数组或字符指针的过程。
1 定义变量字符串。
char str[200];
定义一个长度最大为200字符的字符串。
2 定义常量字符串。
由于常量字符串存储在常量空间中,所以只需要定义一个指针,指向该地址即可。如
char s = "test string";

net 35 下有个类systemwebscriptserialization,20下有插件,没用过。我之前用20做的时候是在网上找的一段代码,可以用。解释的是形如下的json字符串

{
  "NewOpenTermNo": "14010840",
  "NewOpenTermNum": "04,01,11,02,03",
  "NewOpenTermTime": "2014-01-08 15:35",
  "NextOpenTermNo": "14010841",
  "NextOpenSecond": 77,
  "Omission": {
    "NumOmission": [
      {
        "C1": 0,
        "C2": 0,
        "C3": 0,
        "C4": 0,
        "C5": 5,
        "C6": 1,
        "C7": 1,
        "C8": 6,
        "C9": 1,
        "C10": 1,
        "C11": 0
      },
      {
        "C1": 0,
        "C2": 3,
        "C3": 1,
        "C4": 0,
        "C5": 6,
        "C6": 1,
        "C7": 8,
        "C8": 9,
        "C9": 1,
        "C10": 2,
        "C11": 0
      }
    ],
    "NumCount": [
      {
        "C1": 20,
        "C2": 14,
        "C3": 25,
        "C4": 22,
        "C5": 17,
        "C6": 17,
        "C7": 20,
        "C8": 11,
        "C9": 17,
        "C10": 19,
        "C11": 18
      },
      {
        "C1": 2,
        "C2": 2,
        "C3": 6,
        "C4": 5,
        "C5": 3,
        "C6": 4,
        "C7": 2,
        "C8": 3,
        "C9": 7,
        "C10": 2,
        "C11": 4
      }
    ]
  },
  "MaxOmission": {
    "Q1": [
      {
        "Content": "11",
        "Appears": 5595,
        "CurrentYL": 20
      },
      {
        "Content": "8",
        "Appears": 5605,
        "CurrentYL": 19
      },
      {
        "Content": "10",
        "Appears": 5632,
        "CurrentYL": 13
      },
      {
        "Content": "1",
        "Appears": 5559,
        "CurrentYL": 12
      },
      {
        "Content": "7",
        "Appears": 5558,
        "CurrentYL": 8
      }
    ],
    "Q2": [
      {
        "Content": "2,7",
        "Appears": 518,
        "CurrentYL": 523
      },
      {
        "Content": "11,2",
        "Appears": 548,
        "CurrentYL": 477
      },
      {
        "Content": "2,11",
        "Appears": 577,
        "CurrentYL": 462
      },
      {
        "Content": "3,10",
        "Appears": 558,
        "CurrentYL": 420
      },
      {
        "Content": "2,9",
        "Appears": 524,
        "CurrentYL": 389
      }
    ],
    "Q3": [
      {
        "Content": "9,5,7",
        "Appears": 62,
        "CurrentYL": 5944
      },
      {
        "Content": "2,7,5",
        "Appears": 38,
        "CurrentYL": 5673
      },
      {
        "Content": "3,1,8",
        "Appears": 58,
        "CurrentYL": 5632
      },
      {
        "Content": "1,10,11",
        "Appears": 53,
        "CurrentYL": 5538
      },
      {
        "Content": "6,8,9",
        "Appears": 59,
        "CurrentYL": 5362
      }
    ],
    "Z2": [
      {
        "Content": "2,11",
        "Appears": 1125,
        "CurrentYL": 462
      },
      {
        "Content": "6,9",
        "Appears": 1083,
        "CurrentYL": 127
      },
      {
        "Content": "7,8",
        "Appears": 1125,
        "CurrentYL": 124
      },
      {
        "Content": "5,7",
        "Appears": 1152,
        "CurrentYL": 102
      },
      {
        "Content": "5,8",
        "Appears": 1072,
        "CurrentYL": 98
      }
    ],
    "Z3": [
      {
        "Content": "2,6,9",
        "Appears": 357,
        "CurrentYL": 1098
      },
      {
        "Content": "5,6,9",
        "Appears": 342,
        "CurrentYL": 1025
      },
      {
        "Content": "4,7,9",
        "Appears": 347,
        "CurrentYL": 711
      },
      {
        "Content": "2,3,5",
        "Appears": 382,
        "CurrentYL": 672
      },
      {
        "Content": "5,6,10",
        "Appears": 388,
        "CurrentYL": 653
      }
    ]
  },
  "Msg": "success"
}

1. JSON的数据格式
a) 按照最简单的形式,可以用下面这样的 JSON 表示名称/值对:
{ "firstName": "Brett" }
b) 可以创建包含多个名称/值对的记录,比如:
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstancecom" }
c) 可以创建值的数组
{ "people": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstancecom" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servletscom" }
]}
d) 当然,可以使用相同的语法表示多个值(每个值包含多个记录):
{ "programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstancecom" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servletscom" }
],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }
],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }
]
}
注意,在不同的主条目(programmers、authors 和 musicians)之间,记录中实际的名称/值对可以不一样。JSON 是完全动态的,允许在 JSON 结构的中间改变表示数据的方式。

2. 在 JavaScript 中使用 JSON
JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
21 将 JSON 数据赋值给变量
例如,可以创建一个新的 JavaScript 变量,然后将 JSON 格式的数据字符串直接赋值给它:
var people =
{ "programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstancecom" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servletscom" }
],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }
],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }
]
}
22 访问数据
将这个数组放进 JavaScript 变量之后,就可以很轻松地访问它。实际上,只需用点号表示法来表示数组元素。所以,要想访问 programmers 列表的第一个条目的姓氏,只需在JavaScript 中使用下面这样的代码:
peopleprogrammers[0]lastName;
注意,数组索引是从零开始的。

23 修改 JSON 数据
正如访问数据,可以按照同样的方式修改数据:
peoplemusicians[1]lastName = "Rachmaninov";
24 转换回字符串
a) 在 JavaScript 中这种转换也很简单:
String newJSONtext = peopletoJSONString();
b) 可以将任何 JavaScript 对象转换为 JSON 文本。并非只能处理原来用 JSON 字符串赋值的变量。为了对名为 myObject 的对象进行转换,只需执行相同形式的命令:
String myObjectInJSON = myObjecttoJSONString();
说明:将转换回的字符串作为Ajax调用的字符串,完成异步传输。
小结:如果要处理大量 JavaScript 对象,那么 JSON 几乎肯定是一个好选择,这样就可以轻松地将数据转换为可以在请求中发送给服务器端程序的格式。

3. 服务器端的 JSON
31 将 JSON 发给服务器
a) 通过 GET 以名称/值对发送 JSON
在 JSON 数据中会有空格和各种字符,Web 浏览器往往要尝试对其继续编译。要确保这些字符不会在服务器上(或者在将数据发送给服务器的过程中)引起混乱,需要在JavaScript的escape()函数中做如下添加:
var url = "organizePeoplephppeople=" + escape(peopletoJSONString());
requestopen("GET", url, true);
requestonreadystatechange = updatePage;
requestsend(null);
b) 利用 POST 请求发送 JSON 数据
当决定使用 POST 请求将 JSON 数据发送给服务器时,并不需要对代码进行大量更改,如下所示:
var url = "organizePeoplephptimeStamp=" + new Date()getTime();
requestopen("POST", url, true);
requestonreadystatechange = updatePage;
requestsetRequestHeader("Content-Type", "application/x-(>result = setdobj(columndata);
debugger;
alert(resultlength);
//添加一个debugger调试一下。如果你success或得值,你的赋值就不应该有问题。

1 首先js是语言,json是一种数据格式
2 放在文件里面的json只是存储使用,并不会对程序有什么作用,更不会和js有传递和不传递的说法。
3 你要做的只有把文件里面的json字符串读出来转换成json对象, 然后使用js的json对象赋值
4 最后将json对象转换字符串后重新写入config文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13384765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存