2013-09-22 5 views
0

здесь у меня есть заявление:Использование Javascript переменной вместо JSON файл

<div id="timeline-embed"></div> 
     <script type="text/javascript"> 
     var timeline_config = { 
     width: "100%", 
     height: "100%", 
     debug: true, 
     rows: 2, 
     source: 'Timeline/example_json.json' 
     } 
     </script> 
     <script type="text/javascript" src="Timeline/compiled/js/storyjs-embed.js"></script> 

так что теперь я хочу вместо source: 'Timeline/example_json.json' использовать

что-то вроде:

source: '{ 
    "timeline": 
    { 
     "headline":"Sh*t People Say", 
     "type":"default", 
     "text":"People say stuff", 
     "startDate":"10/4/2011 15:02:00", 
     "date": [ 
      { 
       "startDate":"10/4/2011 15:10:00", 
       "endDate":"10/4/2011 15:55:00", 
       "headline":"prvo", 
       "text":"<p>dddddddddddddddd dd</p>", 
       "asset": 
       { 

        "caption":"yessss" 
       } 
      }, 
      { 
       "startDate":"10/4/2011 17:02:00", 
       "endDate":"10/4/2011 18:02:00", 
       "headline":"drugo da da", 
       "text":"<p>In true political fashion, his character rattles off common jargon heard from people running for office.</p>", 
       "asset": 
       { 
        "media":"http://youtu.be/u4XpeU9erbg", 
        "credit":"", 
        "caption":"" 
       } 
      } 
     ] 
    } 
}' 

но Безразлично работы. Я действительно не знаю, что это точно ... Пожалуйста, помогите.

Так что это верный плагин Timeline, и этот плагин нуждается в JSON в качестве источника, но есть ли способ изменить источник с помощью переменной Javascript?

+0

Удалите символы '' 'в самом начале и в самом конце' source: 'JSON. –

ответ

1

То, как у вас это написано, значение «timeline_config.source» является строкой, а не «пригодным для использования» объектом Javascript.

Возможно, вам понадобится преобразовать строку в объект с помощью JSON.parse(). Поэтому добавьте эту строку кода в качестве последней строки вашего первого сценария> <.

timeline_config.source = JSON.parse(timeline_config.source) 

В качестве альтернативы, как указано в комментариях, вы можете просто удалить одиночные кавычки вокруг строки, и она будет изначально на объект JS.

+0

Почему даже разобрать его? Просто удалите внешние кавычки и он должен работать. – bfavaretto

1

Попытка удаления 'строка разделитель, поэтому он говорит

source: { 
    "timeline": { ... } 
}, 

Таким образом, он является объектом JS, а не строка.

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