2015-11-19 9 views
2

У меня есть JSON массив строкПреобразование JSON массива в последовательности JSON объекта

[ 
    { "ok": true }, 
    { "ok": true }, 
    { "ok": true }, 
    { "ok": true }, 
    { "ok": true } 
] 

Я хочу, чтобы преобразовать JSON массив строк в последовательности JSON объектов строки как

{"ok":true} 
{"ok":true} 
{"ok":true} 
{"ok":true} 
{"ok":true} 

я использовал jsonarraystring.replace(/,{/g , "\n{"), но это не является безопасным.

Есть ли какая-нибудь библиотека в javascript, чтобы с этим справиться?

+0

Не будет ли JSON.stringify() выполнять работу? –

+0

'JSON.stringify ('[{ok: true}, {ok: true}]')' дает результат '" [{ok: true}, {ok: true}] "' – Amit

+0

Ожидаемый результат будет ' [{ok: true} {ok: true}] "' – Amit

ответ

3
[ 
    { "ok": true }, 
    { "ok": true }, 
    { "ok": true }, 
    { "ok": true }, 
    { "ok": true } 
].map(JSON.stringify).join("\n") 
1

Ответ @ Shanimal верен.

Вы можете проверить код, таким образом:

(function() { 
 
    var jsonarraystring = 
 
    [ 
 
     { "ok": true }, 
 
     { "ok": true }, 
 
     { "ok": true }, 
 
     { "ok": true }, 
 
     { "ok": true } 
 
    ]; 
 

 

 
    console.log(jsonarraystring.map(JSON.stringify).join("\n")); 
 

 
})();

0

Если вы ищете другие варианты, которые можно использовать $ .parseJSON()

function() { 
     var str = '[{ "ok": true },{ "ok": false },{ "ok": true }]'; 

     var jsonObjArray = $.parseJSON(str); 

     for(var i=0;i<jsonObjArray.length;i++){ 
      alert(jsonObjArray[i]["ok"]); 
     }    
} 
Смежные вопросы