Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как разобрать json (https://javascript.ru/forum/jquery/52720-kak-razobrat-json.html)

Dtri 03.01.2015 03:25

Как разобрать json
 
Здравствуйте.
помогите разбить JSON вида:

с: {
a1:1
b1:2
}


на json вида

e:[a,b] и d:[1,2]

Safort 03.01.2015 04:12

Это не JSON, это объекты JS.

Dtri 03.01.2015 13:08

Цитата:

Сообщение от Safort (Сообщение 349314)
Это не JSON, это объекты JS.

хорошо. учту. А как разбить эти объекты?

рони 03.01.2015 13:23

Dtri,
var с = {"a1":1,"b1":2}, d = [], e = [];
Object.keys(с).forEach(function (key) {
  d.push(с[key])
  e.push(key.replace(/\d/,''))
});
alert([d,e].join('\n'))

Dtri 03.01.2015 15:51

Цитата:

Сообщение от рони (Сообщение 349336)
Dtri,
var с = {"a1":1,"b1":2}, d = [], e = [];
Object.keys(с).forEach(function (key) {
  d.push(с[key])
  e.push(key.replace(/\d/,''))
});
alert([d,e].join('\n'))

рони, спасибо.

поясни пожалуйста.
(/\d/,'')
это регулярное выражение?
и что оно делает?

рони 03.01.2015 16:22

Dtri,
да, убирает 1 в a1 и b1

krutoy 04.01.2015 00:18

o={a: 1, b: 2}
a=[]; b=[]

for(i in o){a.push(i); b.push(o[i])}
alert([a,b])


// [ [ 'a', 'b' ], [ 1, 2 ] ]

bes 04.01.2015 11:18

krutoy,

o={a: 1, b: 2}
a=[]; b=[]
o.__proto__.c = 8;

for(i in o){a.push(i); b.push(o[i])}
alert([a,b])


// [ [ 'a', 'b', 'c' ], [ 1, 2, 8 ] ]

Dtri 04.01.2015 14:52

Цитата:

Сообщение от bes (Сообщение 349468)
krutoy,

o={a: 1, b: 2}
a=[]; b=[]
o.__proto__.c = 8;

for(i in o){a.push(i); b.push(o[i])}
alert([a,b])


// [ [ 'a', 'b', 'c' ], [ 1, 2, 8 ] ]

а зачем тут o.__proto__.c = 8?
и что делает __proto__?
в данном случае.

насколько я понял добавляет в объект "о"
с:8
после чего
о={a:1, b:2, c:8}
правильно?

bes 04.01.2015 14:56

Цитата:

Сообщение от Dtri
а зачем тут o.__proto__.c = 8?

а почему бы и нет

Цитата:

Сообщение от Dtri
и что делает __proto__?

слабо прогуглить?

Цитата:

Сообщение от Dtri
в данном случае.

for-in выводит все свойства с учётом перечисляемых свойств прототипа


Часовой пояс GMT +3, время: 09:21.