json-求助:Json对象会无形中缺少子对象,请问是为什么?

问题描述

求助:Json对象会无形中缺少子对象,请问是为什么?

我有一个Json对象,但是在实际操作中,会无形中少了一些子对象,但是又不知道是为啥
希望各位大大帮我解惑一下
比如下面这个Json对象 解析出来的时候
就只有两个子对象,少了两个子对象

var JsonObj= {
008: {
name: "(197) 1 1/2”",
no: "008",
size: "1 1/2寸",
width: "157mm",
height: "307mm",
listedtime: "2012-01-01",
production: "否",
recordtime: "2014-01-01",
remarks:"描述197",

imgurl1: "image/Products/197_150x150.jpg",
imgurl2: "image/Products/197_300x300.jpg",
imgurl3: "image/Products/197_300x300.jpg"
},
009: {
name: "(198) 1 1/4”",
no: "009",
size: "1 1/4寸",
width: "158mm",
height: "308mm",
listedtime: "2012-01-01",
production: "否",
recordtime: "2014-01-01",
remarks:"描述198",

imgurl1: "image/Products/198_150x150.jpg",
imgurl2: "image/Products/198_300x300.jpg",
imgurl3: "image/Products/198_300x300.jpg"
},
010: {
name: "(190) 3/4”",
no: "010",
size: "3/4寸",
width: "150mm",
height: "300mm",
listedtime: "2012-01-01",
production: "否",
recordtime: "2014-01-01",
remarks:"描述190",

imgurl1: "image/Products/190_150x150.jpg",
imgurl2: "image/Products/190_300x300.jpg",
imgurl3: "image/Products/190_300x300.jpg"
},
011: {
name: "(191) 2”",
no: "011",
size: "2寸",
width: "151mm",
height: "301mm",
listedtime: "2012-01-01",
production: "否",
recordtime: "2014-01-01",
remarks:"描述191",

imgurl1: "image/Products/191_150x150.jpg",
imgurl2: "image/Products/191_300x300.jpg",
imgurl3: "image/Products/191_300x300.jpg"
}
}

解决方案

应该与你所设置的数字有关,你尝试将08、09、10、11 都加上双引号试试

解决方案二:

去掉前面的0,要不就会当做8进制了,010对应的10进制是8,010对应的是9,键名称重复了导致前面的8,9键值被覆盖了

既然是json对象,你的键名称最好用引号括起

解决方案三:

把你的json内容值拷贝到这个网站:http://www.bejson.com/
格式化一下,看看是不是真的少了一部分内容,通常是不会少内容的,除非你的json格式不正确,少了引号或者但引号。
{
008: {
name: "(197) 1 1/2”",
no: "008",
size: "1 1/2寸",
width: "157mm",
height: "307mm",
listedtime: "2012-01-01",
production: "否",
recordtime: "2014-01-01",
remarks: "描述197",
imgurl1: "image/Products/197_150x150.jpg",
imgurl2: "image/Products/197_300x300.jpg",
imgurl3: "image/Products/197_300x300.jpg"
},
009: {
name: "(198) 1 1/4”",
no: "009",
size: "1 1/4寸",
width: "158mm",
height: "308mm",
listedtime: "2012-01-01",
production: "否",
recordtime: "2014-01-01",
remarks: "描述198",
imgurl1: "image/Products/198_150x150.jpg",
imgurl2: "image/Products/198_300x300.jpg",
imgurl3: "image/Products/198_300x300.jpg"
},
010: {
name: "(190) 3/4”",
no: "010",
size: "3/4寸",
width: "150mm",
height: "300mm",
listedtime: "2012-01-01",
production: "否",
recordtime: "2014-01-01",
remarks: "描述190",
imgurl1: "image/Products/190_150x150.jpg",
imgurl2: "image/Products/190_300x300.jpg",
imgurl3: "image/Products/190_300x300.jpg"
},
011: {
name: "(191) 2”",
no: "011",
size: "2寸",
width: "151mm",
height: "301mm",
listedtime: "2012-01-01",
production: "否",
recordtime: "2014-01-01",
remarks: "描述191",
imgurl1: "image/Products/191_150x150.jpg",
imgurl2: "image/Products/191_300x300.jpg",
imgurl3: "image/Products/191_300x300.jpg"
}
}

解决方案四:

008不是一个valid的javascript的identifier。

解决方案五:

var JsonObj = {
name: "bill"
};
这里的name是个语法糖,实际上是"name": "bill"
只有name是个合法的JS的标识符的时候,才能不用引号(所谓的糖语法)
引用时,也可以JsonObj.name这样
但是如果name不是合法的JS的标识符的时候,就必须用引号了
且引用时,只能这样JsonObj["008"]
这是基本的JS的语法规则,可以找资料参考。

解决方案六:

json对象值跟键都要加双引号

时间: 2024-09-20 00:56:01

json-求助:Json对象会无形中缺少子对象,请问是为什么?的相关文章

json转js对象数组,求助

问题描述 json转js对象数组,求助 假设我有一个json对象,内容如下:{"10":"热卖商品","11":"限时抢购"},请问如何用js将其转换成这种格式? var data = [{ id: 10, text: '热卖商品' }, { id:11, text: '限时抢购'}]; 解决方案 var datajson = {"10":"热卖商品","11":&q

jQuery解析Json字符串与对象的例子

 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,跟XML不相上下,在当今得到了广泛应用.有人说,当JS遇上Json,小JJ诞生啦:我说,当Json遇上xml,世界上又多了俩兄弟.近期看EasyUi视频里也全是Json作为前后台的数据交互,Json的有两种结构,分别是对象和数组: 1.对象:对象在js中表示为"{}"扩起来的内容,数据结构为: {key:value,key:value,-} 2.数

JSON字符串和对象之间的转换详解

  这篇文章主要介绍了JSON字符串和对象之间的转换详解,需要的朋友可以参考下 JSON(JavaScript Object Notation) 是JavaScript编程语言的一个子集.正因JSON是JavaScript的一个子集,所以它可清晰的运用于此语言中. eval函数 JSON文本转换为对象 为了将JSON文本转换为对象,可以使用eval函数.eval函数调用JavaScript编辑器.由于JSON是JavaScript的子集,因此编译器将正确的解析文本并产生对象结构.文本必须括在括号

json与java对象转换的问题

问题描述 json与java对象转换的问题 请问一下这样的json字符串如何转化为java对象呢? json字符串: "{"post":{"userId":"1","postId":"2"}}" 如果post后面是一个json字符串,那一点问题都没有,但是post后面是一个json对象,这要怎么解析呢?我的javabean是Post.求大神帮忙- 解决方案 Json是标记语言,到任何语言

JSON支持什么对象/类型?

原文:JSON支持什么对象/类型? 当一个面试官问你: JSON都支持什么对象/类型?你怎么回答? 也许他的本意是下面这个答案: JSON格式支持的数据类型有以下: 类型 描述 Number 在JavaScript中的双精度浮点格式 String 双引号的反斜杠转义的Unicode Boolean true 或 false Array 值的有序序列 Value 它可以是一个字符串,一个数字,真的还是假(true/false),空(null )等 Object 无序集合键值对 Whitespace

js将json格式的对象拼接成复杂的url参数方法_javascript技巧

var parseParam=function(param, key){ varparamStr=""; if(paraminstanceof String||param instanceof Number||param instanceof Boolean){ paramStr+="&"+key+"="+encodeURIComponent(param); }else{ $.each(param,function(i){ vark=ke

大神,求帮助,把json转成对象

问题描述 下面是一串json串我想把它转成(序列化)对象,简单的我可以转但是这个我头疼了这要建几个Class啊{"total":2,"count":2,"data":{"openid":["","OPENID1","OPENID2","OPENID3"...]},"next_openid":"NEXT_OPENID&q

JSON字符串和对象之间的转换详解_json

JSON(JavaScript Object Notation) 是JavaScript编程语言的一个子集.正因JSON是JavaScript的一个子集,所以它可清晰的运用于此语言中. eval函数 JSON文本转换为对象 为了将JSON文本转换为对象,可以使用eval函数.eval函数调用JavaScript编辑器.由于JSON是JavaScript的子集,因此编译器将正确的解析文本并产生对象结构.文本必须括在括号中避免产生JavaScript的语法歧义. var obj = eval('('

GSON解析 json转java对象问题

问题描述 GSON解析 json转java对象问题 使用Gson将JSONObject objectObj 对象转换为Charge对象部分代码: Gson gs = new GsonBuilder().setDateFormat("yyyy-MM-dd").create(); Charge charge = gs.fromJson(objectObj.toString(), Charge.class); 问题是结果charge与objectObj结构一致但是某些字段的值不一样了!!!