我在Javascript中的一些数组中有一些数据,我想遍历这些数组并将值放入Json中,我正在尝试这段代码,但我无法创建Json。要检查我是否创建了它,我正在尝试在其中打印一个值
<span id="res"> nada</span>
但我不知道我是否正确访问,我没有控制太多 Javascript。
var arrayNombres= new Array();
var arrayApellido= new Array();
var arrayCiudad= new Array();
arrayNombres[0]= "nombre1";
arrayNombres[1]= "nombre2";
arrayNombres[2]= "nombre3";
arrayApellido[0]= "ape1 ";
arrayApellido[1]= "ape2";
arrayApellido[2]= "ape3";
arrayCiudad[0]= "ciudad1";
arrayCiudad[1]= "ciudad2";
arrayCiudad[2]= "ciudad3";
var json={datos:[{nombre :''},{apellido:''},{ciudad:''}]};
var obj = JSON.parse(json);
for (var i = 0; i < arrayNombres.length; i++) {
obj['datos'].push({"nombre":arrayNombres[i],"apellido":arrayApellido[i],"ciudad":arrayCiudad[i]});
};
json= JSON.stringify(obj);
$("#res").text(''+ json.datos[1].nombre);
我希望 Json 拥有的结构是
{
datos[
{"nombre":"", "apellidos":"", "edad":""}
{"nombre":"", "apellidos":"", "edad":""}
...
]
我还考虑过在 Json 中创建一个包含我想要的所有值的数组并解析该数组
您必须考虑必须创建层次结构,然后生成的对象将是要打印的值
您好,问题是您误解了功能
JSON.stringify
和JSON.parse
简单解释它的 JSON 是具有特定格式的字符串,
JSON.parse(string)
您将该字符串转换为 Javascript 对象或数组,JSON.stringify(obj)
然后执行将 javascript 对象转换为格式化字符串的相反操作。您的代码中的问题如下
第一行
var obj = JSON.parse(json);
不是必需的,变量json
是 javascript 对象而不是字符串,因此它会给出错误。所以循环看起来像这样
for
:下一行将
json= JSON.stringify(obj);
数组转换为 JSON 字符串,但它会在下一行产生错误,所以总结起来应该省略,所以应该是:您用于推送对象的逻辑
var obj = JSON.parse(json);
不正确,您应该按照我在下面指示的方式声明它。除此之外,还有其他方法,例如list['datos'].push()
如果我这样做,则在声明对象属性时会有更好的顺序。