使用Javascript查找并更新嵌套JSON数组和对象中的所有键值
Find and update all the keys value in a nested JSON Arrays and Objects using Javascript
我在下面有数组和对象的嵌套JSON数据
我需要在javascript或NodeJS或AngularJS 中将字符串中的所有键值从英语更新为西班牙语
{
"firstrootkey" : [ //Array of 6 objects
{ //1st object
"key1" : "valueinstring",
"key2" : randomnumbers
},..... ],
"secondrootkey" : { //having 7 objects
"One" : [ { //each object having array of n objects
"name" : "valueinstring",
"id" : randomnumbers
}, ......],
"two two" : [ { // array of m objects
"keya" : "valueinstring",
"keyb" : randomnumbers
},.......],
.
.
.
},
"third root key" : { //having n objects
"sdfdsfsfs" : [ { //each object having array of n objects
"keyc" : "valueinstring",
"keyhuh" : 858556
"hgjhgj" : 6789
},.... ],
.
.
.
.
.
}
}
我尝试了很多方法,但都不起作用
方法之一
for (var rootKey in jsonEnglish) {
var rootValue = jsonEnglish[rootKey];
if (rootValue.isArray) { // function iterate Array objects
//loop each array
// if every array is object -- function iterate object
// find value in object
//if value not array and object
// then pass value to translator
//and update the value with translated value
//else if its object
//
给出一些接近的指示
好的,首先在这里验证您的JSONhttp://jsonlint.com/
然后在javascript中,您可以访问json并将其与XMLHttpRequest()一起使用
var xmlhttp = new XMLHttpRequest();
var url = "yourdata.json";
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var json_array = JSON.parse(xmlhttp.responseText);
parseJson(json_array);
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
json_data += "<p>Variable Access through array structure: " + json_array.firstrootkey[0].key1+ "</p>";
json_data += "<p>Access Array inside array item: " + json_array.secondrootkey[0].one[0].name + "</p>";
document.getElementById("display_json").innerHTML = json_data;
此外,第7行出现语法错误。此外,为了测试您的代码,您需要一个工作的web服务器。我更喜欢appserv。
以下是一些正确的JSON,并在JSONlint.com 上进行了验证
{
"firstrootkey": [{
"firstName": "Shane",
"lastName": "Burton",
"id": [
1, 2, 3, 4, 5, 6, 7, 8
],
"credits": "24"
}],
"secondrootkey": [{
"One": [{
"firstName": "Shane",
"lastName": "Burton",
"id": [
1, 2, 3, 4, 5, 6, 7, 8
],
"credits": "24"
}]
}]
}
第二个JSON OBJECT每组括号代表数据库/列表中的一行
由于您使用的是foreach循环,为了简单起见,我会将其作为一个对象。
{
"foreachloopobject": [{
"firstrootkey": [{
"firstName": "Shane",
"lastName": "Burton",
"id": [
1, 2, 3, 4, 5, 6, 7, 8
],
"credits": "24"
}],
"secondrootkey": [{
"One": [{
"firstName": "Shane",
"lastName": "Burton",
"id": [
1, 2, 3, 4, 5, 6, 7, 8
],
"credits": "24"
}]
}],
"firstrootkey": [{
"firstName": "Shane",
"lastName": "Burton",
"id": [
1, 2, 3, 4, 5, 6, 7, 8
],
"credits": "24"
}],
"secondrootkey": [{
"One": [{
"firstName": "Shane",
"lastName": "Burton",
"id": [
1, 2, 3, 4, 5, 6, 7, 8
],
"credits": "24"
}]
}]
}]
}
相关文章:
- 将键/值数组中的对象与另一个对象(键/值)进行比较
- javascript对象键值对
- 如何将这些对象键值放入文本框中
- 将javascript变量列表转换为对象键/值对
- javascript 对象键值循环 setInterval
- 将数组/对象键值替换为另一个数组/对象 javascript 中的键值
- 如何强制对象键值对首先位于对象中
- 当对象键值在数组中时如何过滤数组
- 将对象键值与数组中的值匹配
- 在动态 JavaScript 对象(键/值对)中创建动态数组
- 计算对象键值并将其转换为百分比(100%)
- 如何在 javascript 中向数组添加新对象(键值对)
- 基于另一个对象键/值存储对象值
- 反应.js传递对象键值对作为 props
- 基于动态数据获取对象键值
- 将javascript对象键值推送到javascript对象键数组
- 转换/解析javascript对象键值对
- 如何在JavaScript中从对象键值返回数组
- getter和setter vs对象键值对
- 异步迭代对象键/值