簡體   English   中英

字符串中的Javascript意外令牌錯誤

[英]Javascript unexpected token error on string

我正在創建一個網頁,並希望在另一個視圖中使用一個視圖中的信息。 我正在通過python生成javascript代碼,但是我創建的字符串之一遇到了麻煩,導致了unexpected token illegal語法錯誤。

我正在像這樣在python中創建字符串:

sep = max([len(k) for k in self.keys()])
infoString = "\n".join([("(%s)%s %s" % (k," "*(sep-len(k)),v)) for k,v in self.iteritems()])
GANTTBlock.setInfo("SIMPL-Task block representation:%s" % infoString)

最終在js中看起來像這樣:

var SAT_2B = [
{label: "COMMRequest", times: [{"color":"Red", "label":"Task ID: 1", "starting_time":1420228800000, "ending_time":1420257600000, "TASKID":"1", "TASKCLASS":"COMM", "info":"SIMPL-Task block representation:(SCI_STORED_RAW)    0
(SEQUENCE_OVERRIDE) 
(REQ_FILENAME)      /Users/kerrywahl/Desktop/PlanningPersonelInterface/SIMPLCode/Input/Test/CYGNSS_MOC_COMM_Req_2015_001.txt
(RETRANSMIT)        
(SCI_STORED_DDM)    0
(NOTES)             Auto Generated NOMINAL COMM Request<req TASK_ID:1>
(ENG_STORED_NOM)    0
(IS_SIMPL_TASK)     True
(RATE)              HIGH_RATE
(DURATION)          500.0
(WINDOW_END)        2015-01-03 04:00:00.000000
(WINDOW_START)      2015-01-02 20:00:00.000000
(TASK_ID)           1
(TaskClass)         COMM
(PASS_SETUP)        AUTO
(PRIORITY)          5
(TASK_NAME)         SAT_2B_COMM_NOMINAL_1_req
(PHASE)             REQUEST
(ENG_STORED_DIAG)   0
(TYPE)              NOMINAL
(SAT)               2B"}, {"color":"Red", "label":"Task ID: 6", "starting_time":1421092800000, "ending_time":1421121600000, "TASKID":"6", "TASKCLASS":"COMM", "info":"SIMPL-Task block representation:(SCI_STORED_RAW)    0
(SEQUENCE_OVERRIDE) 
(REQ_FILENAME)      /Users/kerrywahl/Desktop/PlanningPersonelInterface/SIMPLCode/Input/Test/CYGNSS_MOC_COMM_Req_2015_001.txt
(RETRANSMIT)        
(SCI_STORED_DDM)    0
(NOTES)             Auto Generated NOMINAL COMM Request<req TASK_ID:6>
(ENG_STORED_NOM)    0
(IS_SIMPL_TASK)     True
(RATE)              HIGH_RATE
(DURATION)          500.0
(WINDOW_END)        2015-01-13 04:00:00.000000
(WINDOW_START)      2015-01-12 20:00:00.000000
(TASK_ID)           6
(TaskClass)         COMM
(PASS_SETUP)        AUTO
(PRIORITY)          5
(TASK_NAME)         SAT_2B_COMM_NOMINAL_6_req
(PHASE)             REQUEST
(ENG_STORED_DIAG)   0
(TYPE)              NOMINAL
(SAT)               2B"}]},
    {label: "COMMPlan", times: []},
    {label: "COMMOperation", times: []},
];

在控制台上,錯誤發生在第一行( {label: "COMMRequest", times: [{"color"... )。 我嘗試將字符串的info部分( "info":之后的所有內容)更改為常規的“ foo”字符串,然后運行良好。 我嘗試刪除\\n但仍然收到錯誤。 我不知道是什么引起了問題。

編輯

如果我在times:內只有一個{} ,則可以正常工作times:標簽的一部分,但在第二個{}"TASKID"部分中斷。

控制台中不能包含這樣的換行符。 對於多行字符串,您需要每行以\\結尾:

var SAT_2B = [
{label: "COMMRequest", times: [{"color":"Red", "label":"Task ID: 1", "starting_time":1420228800000, "ending_time":1420257600000, "TASKID":"1", "TASKCLASS":"COMM", "info":"SIMPL-Task block representation:(SCI_STORED_RAW)    0/n
(SEQUENCE_OVERRIDE) \
(REQ_FILENAME)      /Users/kerrywahl/Desktop/PlanningPersonelInterface/SIMPLCode/Input/Test/CYGNSS_MOC_COMM_Req_2015_001.txt\
(RETRANSMIT)        \
(SCI_STORED_DDM)    0\
(NOTES)             Auto Generated NOMINAL COMM Request<req TASK_ID:1>\
(ENG_STORED_NOM)    0\
(IS_SIMPL_TASK)     True\
(RATE)              HIGH_RATE\
(DURATION)          500.0\
(WINDOW_END)        2015-01-03 04:00:00.000000\
(WINDOW_START)      2015-01-02 20:00:00.000000\
(TASK_ID)           1\
(TaskClass)         COMM\
(PASS_SETUP)        AUTO\
(PRIORITY)          5\
(TASK_NAME)         SAT_2B_COMM_NOMINAL_1_req\
(PHASE)             REQUEST\
(ENG_STORED_DIAG)   0\
(TYPE)              NOMINAL\
(SAT)               2B"}]},
    {label: "COMMPlan", times: []},
    {label: "COMMOperation", times: []},
];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM