javaScript 中创建json/转换字符串为json

在js 中创建创建json 对象:

  1.直接定义json 对象

var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];alert(employees[0].firstName); //可以看到输出为Bill

  2.通过拼接字符串,再转换为json 对像.  

例子1:
 1 var ids=["1","2","3"];
 2  var names=["one","two","three"];
 3
 4  var json="[";
 5  for(var i=0;i<ids.length;i++){
 6     json+={"id":ids[i],"name":names[i]};
 7     if(i+1<ids.length)json+=",";
 8      }
 9  json+="]";
10
11 json=JSON.parse(json);
12 alert(json[0]);
13 }

上面的例子1 会在 11 行 JSON.parse(json); 出错. 因为JSON.parse() 这个方法只能转换字符串为json 对象. 上面的例子中在 第6行 json 不是以字符串的方式拼接,而在第4行,json 却是以字符串的方式拼接.这个json 变量中一部分是字符串,一部分是对象,这样就不是json 字符串了,所以会解析出错.

JSON.parse() 用法:

var foo = ‘[{ "id": "1","name":"two"}]‘;
var json2=JSON.parse(foo);
alert(json2[0].id)

foo 是字符串,所以转换正确.

例子1 改成如下:

 var ids=["1","2","3"];
 var names=["one","two","three"];

 var json="[";
 for(var i=0;i<ids.length;i++){
    json+=‘{"id":\"‘+ids[i]+‘\","name":\"‘+names[i]+‘\"}‘;
    if(i+1<ids.length)json+=",";
     }
 json+="]";
 alert(json);
json=JSON.parse(json);
alert(json[0].id);

将循环体中的json 拼接转换为字符串,这样就ok 了.

时间: 2024-12-19 02:39:12

javaScript 中创建json/转换字符串为json的相关文章

javaScript中eval()方法转换json对象

原文:javaScript中eval()方法转换json对象 <script language="javascript"> var user = '{name:"张三",age:23,'+ 'address:{city:"青岛",zip:"266071"},'+ 'email:"[email protected]",'+ 'showInfo:function(){'+ 'document.wri

在Javascript 中创建JSON对象--例程分析

作者:iamlaosong 要想用程序从网页上抓数据,需要熟悉HTML和JavaScript语言,这里有一个在Javascript 中创建JSON对象的例程,学习并掌握其内容,在此对此例程做个注释,记录我掌握的知识,以备将来验证是否正确. 程序很简单,分三部分: 1.<h2>部分:用大字符显示标题: 2.<p>部分:显示一段信息的结构,但无内容,内容在后面添加: 3.<scrip>部分:Javascript程序,先定义了一个JSON结构的变量JSONObject,然后,

Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty

原文:Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty public class NullToEmptyStringResolver : DefaultContractResolver { /// <summary> /// 创建属性 /// </summary> /// <param name="type">类型</param> /// <param name="

FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换

fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换. JSONObject:fastJson提供的json对象. JSONArray:fastJson提供json数组对象. 我们可以把JSONObject当成一个Map<String,Object>来看,只是JSONObject提供了更为丰富便捷的方法,方便我们对于对象属性的操作.我们看一下源码. 同样我们可以把JSONArra

在JavaScript中创建命名空间的几种写法

在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,可以看看下面的例子: var sayHello = function() { return 'Hello var'; }; function sayHello(name) { return 'Hello function'; }; sayHello(); 最终的输出为 > "Hello var" 为什么会这样,根据 StackOverFlow 的解释,实际上JavaScript的是

FastJson学习:JSON格式字符串、JSON对象及JavaBean之间的相互转换

当前台需要传送一系列相似数据到后端时,可以考虑将其组装成json数组对象,然后转化为json形式的字符串传输到后台 例如: nodes = $('#PmPbsSelect_tree').tree('getChecked'); var data=[]; for(var i=0;i<nodes.length;i++){ if(!isParentCheck(nodes[i],nodes)){ data.push({"id":nodes[i].id, "pid":no

关于JavaScript中0、空字符串、&#39;0&#39;是true还是false的总结

最近被问到关于js中空字符串是true还是false得问题,一时间没想起来,现在在chrome的console面板上输出代码测试一下. "" == false 结果是true   在js中空字符串与0相等  即空字符串等于false 0 == false  结果是tue   比较的时候 布尔类型的转换成number类型  false 为0  true 为1 “0” == fase 结果是true  字符串准成number Boolean("0") 结果是true 

JavaScript中创建字典对象(dictionary)实例

这篇文章主要介绍了JavaScript中创建字典对象(dictionary)实例,本文直接给出了实现的源码,并给出了使用示例,需要的朋友可以参考下 对于JavaScript来说,其自身的Array对象仅仅是个数组,无法提供通过关键字来获取保存的数据,jQuery源码中提供了一种非常好的方式来解决这个问题,先看一下源码: 复制代码代码如下: function createCache() { var keys = []; function cache(key, value) {  // Use (k

JavaScript中创建类

缘由:因为要给根据是否选中checkbox来动态增加ajax中data的属性(ajax的data属性格式的几种方法,参考http://www.jb51.net/article/46676.htm) data: "name=John&location=Boston", //第一种方式传参    data: {name:"John",location:"Boston"}  //第二种方式传参  (PS,个人感觉这里应该是写错了,应该是{“na