JSON数组转换为Javascript数组

25

你好。我已经得到了JSON格式的输出...现在我需要将这些数据转换为JavaScript代码。

如何编写JavaScript代码?我必须通过编写JavaScript代码来将图像显示在浏览器中。请帮助我。

我的JSON输出是:

    [{"0":"101","member_id":"101","1":"3k.png","image_nm":"3k.png","2":"\/images\/phones\/","image_path":"\/images\/phones\/"},
     {"0":"102","member_id":"102","1":"mirchi.png","image_nm":"mirchi.png","2":"images\/phones\/","image_path":"images\/phones\/"},
     {"0":"103","member_id":"103","1":"masti.png","image_nm":"masti.png","2":"images\/phones\/","image_path":"images\/phones\/"}]
5个回答

44

嗨,我得到了我的输出结果是 JSON…现在我需要将这些数据转换为 JavaScript。

使用 JSON.parse() 函数将其转换为 JS 对象。

var obj = JSON.parse(yourJsonString);

现在你可以使用for-in循环来迭代每个元素:

for (var x in obj){
  if (obj.hasOwnProperty(x)){
    // your code
  }
}

我需要写整个JSON数组来替换“yourJsonString”吗? - krishna bhargavi
@krishnabhargavi:是的,你说得对。如果你的JSON存储在一个变量中,那么你也可以在那里写入它。 - Sarfraz
1
@krishnabhargavi:是的,您可以将其编写在其他JS代码所在的正确JSON字符串上下文中。 - Sarfraz
我创建了JS文件,按照您说的写了所有内容,但是图片没有显示。 - krishna bhargavi
1
@krishnabhargavi:针对那个问题,你可以提出另一个问题(并从这里接受一个答案),因为那是完全不同的问题。 - Sarfraz
显示剩余2条评论

4

2

您应该能够将其用作对象,支持数组的所有关键功能


1

正如Sarfraz所说,

var jsonString = '[{"0":"101","member_id":"101","1":"3k.png","image_nm":"3k.png","2":"\/images\/phones\/","image_path":"\/images\/phones\/"},{"0":"102","member_id":"102","1":"mirchi.png","image_nm":"mirchi.png","2":"images\/phones\/","image_path":"images\/phones\/"},{"0":"103","member_id":"103","1":"masti.png","image_nm":"masti.png","2":"images\/phones\/","image_path":"images\/phones\/"}]';
var obj = JSON.parse(jsonString);
// obj now contains the array!

编辑:为了显示图片:

for (var i = 0, len = obj.length; i < len; i++){
    var img = new Image();
    img.setAttribute("src",obj[i][2] + obj[i][1]);
    document.body.appendChild(img);
}

好的,但我需要代码将图像显示到浏览器。 - krishna bhargavi
@krishnabhargavi 图像存储在哪里? - Johan Lindskogen
@krishnabhargavi 请尽量详细描述,这个文件夹在哪里?在你的电脑上?还是在服务器上? - Johan Lindskogen
而这与该文件的位置有何关系? - Johan Lindskogen

-1

这是我的两分钱意见:

var my_json = [{created_at: "2017-03-14T01:00:32Z", entry_id: 33358, field1: "4", field2: "4", field3: "0"},{created_at: "2019-03-14T01:00:32Z", entry_id: 33359, field1: "4", field2: "4", field3: "0"}];

var data =[];
var dataSet=[];
 my_json.forEach((val,index)=>{
  if(my_json[index]!==null){
   for(var i in my_json[index]) {
     data.push(my_json[index][i]);
   }
   dataSet.push(data);
   data=[];
  } 
 })
console.log("...java Script Array... \n"+JSON.stringify(dataSet));


你正在将一个JavaScript对象数组转换为JavaScript数组的数组。这不是Krishna要求的。你的变量my_json并没有保存JSON数据。 - www.admiraalit.nl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接