JSON assistance
JSON assistance
本文关键字:assistance JSON 更新时间:2023-09-26
所以我正在寻找一些指导、技巧和知识转移。目前我正在练习获取 JSON 数据,但我遇到了一些问题。
我目前遇到的问题是我的 3 个变量(品牌、描述和价格)给了我这个错误: 未捕获的类型错误:无法读取未定义的属性"品牌"
有人可以帮助我解决这个问题,关于更好编码的提示也会很好。
var url = 'https://raw.githack.com/gromstone/jsonFiles/master/products.json';
$.ajax({
type: 'GET',
dataType: 'json',
url: url,
success: function(data){
console.log(data);
$.each(data, function(i, products){
var content = "<div class='"item grid_4'">";
$.each(products, function(i, mainProd){
var brand = mainProd.ProductInfo.Brand,
desc = mainProd.ProductInfo.p_product_description,
price = mainProd.ProductInfo.p_product_price;
//content += '<img class="scale-with-grid" src="' + src + '"/>';
content += '<p>' + brand + desc + '</p>';
content += '<p>' + price + '</p>';
content += '<a>View More</a>';
});
content += "</div><!-- product -->";
$('.load').append(parent);
})
},
error: function(){
alert('Data did not load, or no connection')
}
});
您可以在此处查看工作代码:http://jsfiddle.net/gromstone/j1etxuw0/1/
另外,如果有人可以提供额外的帮助,我想为每个"div.items"制作悬停效果,其中一些额外的数据显示在单独的div上(例如"div.placeHolder")
谢谢!
问题似乎是您正在循环访问在外部循环中接收的对象的所有属性
$.each(data, function(i, products){
在内部循环中,您希望这些属性是数组,并且每个数组成员都有一个ProductInfo
属性:
$.each(products, function(i, mainProd){
var brand = mainProd.ProductInfo.Brand,
但是,JSON 文档的顶级属性包括:
[
"ProductsList",
"RecordsCount",
"nValue",
"Pages",
"Refinements",
"Breadcrumbs",
"CategoryName",
"sortProperty"
]
因此,您的程序将首先遍历ProductsList
的内部结构(我猜是您希望它执行的操作),但是之后,它将遍历RecordsCount
的内容,该内容在您链接的JSON中不包含数组,而是数字8
。但是,程序中的内部循环期望它是一个数组,并且它们将尝试访问(非数组)成员的属性ProductInfo
,然后失败并显示错误。
如果仅在迭代 JSON 的ProductsList
之后,删除外部循环,并将剩余(以前为内部)循环的each
更改为:
$.each(data.ProductsList, function(i, mainProd){
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何将JSON数据导入我的ejs模板
- 区分JSON中的矩阵和列表列表
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 如何为json对象中的段发送array[]
- 根据id将json数组组合为一个json数组
- Json数据包含日期和时间格式
- AngularJS-在JSON选择器中使用变量名
- JSON assistance