из строки в массив
Здравствуйте.
Есть строка 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, время: 10:28. |