2013-04-16 4 views
2

Ниже пост привел меня оценить с помощью jasonpatch для JSON для преобразования JSon:jsonpatch все элементы в массиве

JSON to JSON transformer

Проект можно найти здесь:

https://github.com/bruth/jsonpatch-js

Я нахожусь в настоящее время пытается изменить имя всех элементов в массиве и не вижу, как это возможно. Моя текущая попытка:

var transformations = [ 
{ op: 'move', from:'/hits/1/_id', path: '/hits/1/pizza'} 
]; 

Это меняет свой первый элемент, но как я могу сделать «*» операцию типа карты? Кое-что вроде:

var transformations = [ 
{ op: 'move', from:'/hits/*/_id', path: '/hits/*/pizza'} 
]; 

Я мог видеть, возможно, назвал преобразование N раз для каждого элемента, но это похоже на хак.

ответ

0

Законченное с использованием подхода, в котором я завернул вызов, чтобы применить в цикле:

for(i=0;i<json.hits.length;i++) { 
    var transformations = [{ op: 'move', from:'/hits/'+i+'/_id', path:'/hits/'+i+'/pizza'}]; 
    var result = jsonpatch.apply(json,transformations);    
} 

Может jsonpatch может использовать подстановочные функцию?

Смежные вопросы