из строки в массив
Здравствуйте.
Есть строка send="{url:'', method:'POST', param:''}"; Как из этой строки сделать массив объектов send={url:'', method:'POST', param:''} ? |
|
Цитата:
Поясню: Есть : <input type="text" name="url" send="{url:'124', method:'POST', param:'44214'}"> var send = $(this.form).find('input[send]'); console.log(JSON.parse(send.attr('send'))); Uncaught SyntaxError: Unexpected token u |
niko42, это:
"{url:'', method:'POST', param:''}" не json. json выглядит так: "{\"url\":\"\", \"method\":\"POST\", \"param\":\"\"}" Тогда всё работает: var send = "{\"url\":\"\", \"method\":\"POST\", \"param\":\"\"}"; alert( JSON.parse(send) ); |
Цитата:
Смотрите: <input type="text" name="url" send="{'url':'124', 'method':'POST', 'param':'44214'}"> var send = $(this.form).find('input[send]'); var param = JSON.parse('"' + send.attr('send') + '"'); console.log(param.url); Ответ: undefined |
var text = "{url:'', method:'POST', param:''}"; var obj = new Function('return ' + text)(); alert(JSON.stringify(obj)); |
Блин, работает только в таком состоянии:
<input type="text" name="url" send='{"url":"124", "method":"POST", "param":"44214"}'> |
Цитата:
var param = JSON.parse('"' + "{'url':'124', 'method':'POST', 'param':'44214'}" + '"'); alert(typeof param); // внезапно? =) Суть-то совсем в другом: <input type="text" name="url" send='{"url":"", "method":"POST", "param":""}'> |
Цитата:
var send = $(this.form).find('input[send]'); var obj = new Function('return ' + send.attr('send'))(); console.log(obj.url); |
Цитата:
|
Часовой пояс GMT +3, время: 07:58. |