2016-11-15 6 views
0

У меня есть функция, которая считывает ввод текстовой области.введите строку ввода текста для ввода объекта

Ввод текстовой области возвращается в виде строки, но я хочу, чтобы это был объект.

Как превратить его в объект? Я использовал json.parse и eval. я получаю сообщение об ошибке: VM16897: 1 Uncaught SyntaxError: Неожиданный маркер V в формате JSON в позиции 0 в JSON.parse()

формате я хочу:

var a = { 
        "ss": [{ 
         "name": "O", 
          "id": "shh1", 
          "url": "hthh.sss" 
         }] 
        }], 
        "Maacks": [{ 
        "name": "Default", 
          } 
        }] 
       } 

, что я получаю, когда я получаю текстовое поле ввод:

"var a = { 
        "ss": [{ 
         "name": "O", 
          "id": "shh1", 
          "url": "hthh.sss" 
         }] 
        }], 
        "Maacks": [{ 
        "name": "Default", 
          } 
        }] 
       }" 

ответ

1

Вы должны ввести нижеследующее без var a =, как показано ниже. Кроме того, вы должны исправить свои открывающие и закрывающие фигурные скобки.

{ 
        "ss": [{ 
         "name": "O", 
          "id": "shh1", 
          "url": "hthh.sss" 
         } 
        ], 
        "Maacks": [{ 
        "name": "Default" 
          } 
        ] 
       } 

Затем разобрать с помощью JSON.parse, как показано ниже,

var a = JSON.parse(textArea.value); 

рабочего образца

// Copy the below content inside the commented line (/* ... */) into the text area and click the 'Convert' button, 
 

 
/* 
 

 
{ 
 
    "ss": [{ 
 
         "name": "O", 
 
          "id": "shh1", 
 
          "url": "hthh.sss" 
 
         } 
 
        ], 
 
        "Maacks": [{ 
 
        "name": "Default" 
 
          } 
 
        ] 
 
} 
 

 
*/ 
 

 

 

 
function convert() { 
 
    var jsonText = document.getElementById('textArea').value; 
 
    if(jsonText) { 
 
    try { 
 
     var json = JSON.parse(jsonText); 
 
     console.log(json); 
 
    } catch(e) { 
 
     console.log(e);  
 
    } 
 
    } 
 
}
<textarea id="textArea" rows="10" cols="50"></textarea> 
 
<br/> 
 
<input type="button" value="Convert" onclick="convert()"/>

+0

Вот что я собирался предложить, единственная проблема в том, что они не имеют b скопированные скобки, но это не ваша вина. – Feathercrown

+0

@Feathercrown Спасибо за указание, и я исправил то же самое выше. – Aruna

+0

добро пожаловать. – Feathercrown

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

  • Нет связанных вопросов^_^