Добавить или изменить значение ключа JSON с помощью jquery или javascript - PullRequest
18 голосов
/ 13 декабря 2010

У меня есть JSON string(?), который я возвратил с $.ajax() и назвал его data. Некоторые значения пусты, и мне нужно добавить значения к некоторым ключам и отправить их обратно в мой PHP скрипт.

Я получаю доступ к существующим значениям по data.keyName. Как добавить или изменить значения определенных ключей в «данных»?

Вот как выглядит data.

{
    "ID":"48",
    "userID":"0",
    "address":"750 North High Street",
    "city":"Columbus",
    "state":"OH",
    "zip":"43215",
    "lat":"39.977673",
    "lng":"-83.003357",
    "busNumber":"55",
    "isClaimed":"N",
    "whereFound":"",
    "busNum":"",
    "email":"",
    "fname":"",
    "lname":"",
    "comments":""
}  

Ответы [ 6 ]

36 голосов
/ 13 декабря 2010

После того, как вы декодировали JSON, в результате получается объект JavaScript. Просто манипулируйте им, как любым другим предметом. Например:

data.busNum = 12345;
...
19 голосов
/ 13 декабря 2010
var temp = data.oldKey; // or data['oldKey']
data.newKey = temp;
delete data.oldKey;
4 голосов
/ 20 мая 2016

Кажется, если ваш ключ сохранен в переменной.data.key = value не будет работать.

Вы должны использовать data[key] = value

Пример:

data = {key1:'v1', key2:'v2'};

var mykey = 'key1'; 
data.mykey = 'newv1';
data[mykey] = 'newV2';

console.log(data);

Результат:

{
  "key1": "newV2",
  "key2": "v2",
  "mykey": "newv1"
}
4 голосов
/ 13 декабря 2010

Так же, как и для любой другой переменной, вы просто устанавливаете ее

alert(data.ID);
data.ID = "bar";  //dot notation 
alert(data.ID);    
data.userID = 123456;
data["address"] = "123 some street"; //bracket notation
0 голосов
/ 04 января 2017
var y_axis_name=[];

 for(var point in jsonData[0].data)
              { 
                y_axis_name.push(point);

              }

y_axis_name имеет все имя ключа

примерьте jsfiddle

0 голосов
/ 13 декабря 2010
data.userID = "10";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...