javascript
  • json
  • string
  • parsing
  • 2013-09-19 3 views -1 likes 
    -1

    Привет Мне нужно преобразовать строку в объект JSON, так что я могу получить значение из нее ниже моя строкапреобразование строки JSON объекта в JavaScript

    { «USER_NAME»: «Desc» , "ПАРОЛЬ": "hiiiiiii"}

    Я попытался код ниже

    var data='{ "USER_NAME": "Desc", "PASSWORD": "hiiiiiii"}' 
    var output=JSON.parse(data); 
    var user=output["USER_NAME"]; 
    console.log(user) 
    

    Но я получаю сообщение об ошибке, как показано ниже

    Unexpected token u 
    

    Я застрял здесь любая помощь будет очень полезно

    +2

    JSON является ** ** текстуальное обозначение. То, что вы пытаетесь сделать, - это преобразовать строку JSON в объект * JavaScript *. –

    +1

    Прекрасно работает здесь: http://jsbin.com/ejUZaZ/1/edit – Tibos

    +0

    Прекрасно работает для меня. Вы уверены, что ошибка исходит из этого кода? – Sirko

    ответ

    -5

    привет, пожалуйста, попробуйте это я не уверен, может быть, это будет работать

    var str = '{ "USER_NAME": "Desc", "PASSWORD": "hiiiiiii"} }'; 
    var json = JSON.stringify(eval("(" + str + ")")); 
    
    0

    Это то, что вы хотите?

    console.log(JSON.parse('{ "USER_NAME": "Desc", "PASSWORD": "hiiiiiii"}')); 
    //Object {USER_NAME: "Desc", PASSWORD: "hiiiiiii"} 
    
    2

    Ошибка Unexpected token u не будет происходить в том, что вы в курсе, как ваши данные выборки, но является общая ошибка, которую вы видите при работе с JSON, потому что люди часто создают неправильный (недопустимый) JSON что приводит к этой ошибке.

    JSONявляется подмножеством из JavaScript синтаксиса инициализатора объекта (свободно, «JavaScript объект литералов»), но, будучи подмножеством, его правила отличаются от JavaScript (в более строгим).

    Фактическая строка JSON вызывает проблемы, вероятно, выглядит следующим образом:

    {user_name: "Desc", password: "hiiiiiii"}

    ..., который является недействительным, поскольку ключи (user_name и password) должны быть в двойных кавычках в формате JSON. Это обычная ошибка, потому что они не обязательно должны быть в JavaScript; но JSON требует, чтобы они это делали.

    Так действительная версия, что будет выглядеть как то, что вы вывесили в вашем вопросе:

    {"user_name": "Desc", "password": "hiiiiiii"}

    +0

    сгенерированный компьютером JSON (с использованием 'JSON.parse()') выглядит следующим образом: '{" USER_NAME ":" Desc "," PASSWORD ":" hiiiiiii "}' –

    +0

    @ 2astalavista: 'JSON.parse' не производят строки, он их потребляет. Я не вижу, что вы пытаетесь сказать выше. –

    +0

    JSON.stringify вместо –

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