2012-06-18 5 views
0

Я передаю объект JSON в мой JS файл:Ошибка разбора JSON из тегов-Content

<script type="text/javascript" src="../js/main.js"> 
    { lang: 'de' } 
</script> 

Попытка получить объект JSON в main.js:

var scriptContent = $('script').filter(function() { return this.src.match(/js\/main\.js/g); }).html(), 
    params = $.parseJSON(scriptContent.replace(/&quot;/g, '"')); 

Но это результаты в следующей ошибке: JSON.parse: expected property name or '}'

Как вы можете видеть, что я уже пытался заменить &quot; на "

Я попробовал { lang: "de" } вместо { lang: 'de' }

Как это сделать?

+0

Это не JSON. http://json.org/ –

ответ

2

Ваш снимок неправильный JSON. Ключи свойств также должны быть указаны.

Чтобы быстро произвести правильный JSON, используйте JSON.stringify(some_object), например (для целей тестирования):

JSON.stringify({ lang: "de" }); 
>>> {"lang":"de"} 
4

Свойства в формате JSON должен быть заключен в кавычки, например:

{ 
    "lang": "de" 
} 

Кроме того, в проверьте, действительно ли деталь JSON действительна, вы должны использовать http://jsonlint.com/

2

Используйте JsonLint для проверки вашего объекта JSON

{ 
    "lang": "de" 
} 
1

добавить также:

scriptContent = scriptContent.replace(/\n/g, ''); 

удалить Брак-линию

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