我在我的视图@section
中编写了以下javascript代码。
var mapping = {
'@Title': 'text',
'@ID': 'id',
'@ParentID': 'parent',
'@Narrative': 'value'
}
var temp = JSON.stringify(data);
for (key in mapping) {
temp = temp.replace(new RegExp(key, 'g'), mapping[key]);
}
data = JSON.parse(temp.replace(/@/g, ''));
假设data
是上面已经声明的数组。在视图中,我无法使用语句data = JSON.parse(temp.replace(/@/g, ''));
。它会引发以下错误:
分析器错误
描述:解析资源期间发生错误 需要为此请求提供服务。请查看以下具体内容 解析错误详细信息并适当修改源文件。
分析器错误消息:" /"在代码块的开头无效。 只有标识符,关键字,评论"("和" {"有效。
我传递@
的原因是从@
删除所有temp
个符号,但是使用MVC代码时,它会引发@
个符号的错误。
以下是zeelong最初在post发布的一些数组数据。
var data = {
"class": {
"@Title": "SOCIAL HISTORY",
"@ID": "1",
"@ParentID": "0",
"helpNavNode": [{
"@Title": "ALCOHOL CONSUMPTION",
"@ID": "2",
"@ParentID": "1",
"helpNavNode": [{
"@Title": " Never",
"@ID": "3",
"@ParentID": "2",
"@Narrative": "ALCOHOL CONSUMPTION: Never"
}, {
"@Title": " Occasionally",
"@ID": "4",
"@ParentID": "2",
"@Narrative": "ALCOHOL CONSUMPTION: Occasionally"
}, {
"@Title": " Socially",
"@ID": "5",
"@ParentID": "2",
"@Narrative": "ALCOHOL CONSUMPTION: Socially"
}, {
"@Title": " Daily (3 beers/day) (6 pack/day)",
"@ID": "6",
"@ParentID": "2",
"@Narrative": "ALCOHOL CONSUMPTION: Daily (3 beers/day) (6 pack/day)"
}, {
"@Title": " Is Alcoholic",
"@ID": "7",
"@ParentID": "2",
"@Narrative": "ALCOHOL CONSUMPTION: Is Alcoholic"
}, {
"@Title": " History of Alcoholism",
"@ID": "8",
"@ParentID": "2",
"@Narrative": "ALCOHOL CONSUMPTION: History of Alcoholism"
}, {
"@Title": " None",
"@ID": "26",
"@ParentID": "2",
"@Narrative": "ALCOHOL CONSUMPTION: None"
}, {
"@Title": "Alcoholism Screen Question",
"@ID": "39",
"@ParentID": "2",
"helpNavNode": {
"@Title": " Ever had a drinking problem? Last drink? ",
"@ID": "40",
"@ParentID": "39",
"@Narrative": "ALCOHOL CONSUMPTION:Alcoholism Screen Question: Ever had a drinking problem? Last drink? "
}
}]
}, {
"@Title": "MARITAL STATUS",
"@ID": "9",
"@ParentID": "1",
"helpNavNode": [{
"@Title": " Married",
"@ID": "10",
"@ParentID": "9",
"helpNavNode": {
"@Title": " x 10 years",
"@ID": "15",
"@ParentID": "10",
"@Narrative": "MARITAL STATUS: Married: x 10 years"
}
}, {
"@Title": " Divorced",
"@ID": "11",
"@ParentID": "9",
"@Narrative": "MARITAL STATUS: Divorced"
}, {
"@Title": " Single",
"@ID": "12",
"@ParentID": "9",
"@Narrative": "MARITAL STATUS: Single"
}]
}, {
"@Title": "Recreational drug use",
"@ID": "13",
"@ParentID": "1",
"@Narrative": ":Recreational drug use"
}, {
"@Title": "OCCUPATION",
"@ID": "14",
"@ParentID": "1",
"helpNavNode": {
"@Title": " works for x 27 years",
"@ID": "25",
"@ParentID": "14",
"@Narrative": "OCCUPATION: works for x 27 years"
}
}, {
"@Title": " 1 child",
"@ID": "16",
"@ParentID": "1",
"@Narrative": ": 1 child"
}, {
"@Title": " 2/3/4/5/6 children",
"@ID": "17",
"@ParentID": "1",
"@Narrative": ": 2/3/4/5/6 children"
}, {
"@Title": "Activities",
"@ID": "18",
"@ParentID": "1",
"helpNavNode": [{
"@Title": " walks regularly",
"@ID": "19",
"@ParentID": "18",
"@Narrative": "Activities: walks regularly"
}, {
"@Title": " cycles for exercise",
"@ID": "20",
"@ParentID": "18",
"@Narrative": "Activities: cycles for exercise"
}, {
"@Title": " runs 3 days/week",
"@ID": "21",
"@ParentID": "18",
"@Narrative": "Activities: runs 3 days/week"
}, {
"@Title": " hunting and fishing",
"@ID": "22",
"@ParentID": "18",
"@Narrative": "Activities: hunting and fishing"
}, {
"@Title": " hiking and camping",
"@ID": "23",
"@ParentID": "18",
"@Narrative": "Activities: hiking and camping"
}, {
"@Title": " swims regularly",
"@ID": "24",
"@ParentID": "18",
"@Narrative": "Activities: swims regularly"
}]
}, {
"@Title": "Tobacco Use",
"@ID": "27",
"@ParentID": "1",
"helpNavNode": [{
"@Title": "Cigar, Cigarette, Pipe, Smokeless",
"@ID": "30",
"@ParentID": "27",
"helpNavNode": {
"@Title": "10/pk year",
"@ID": "32",
"@ParentID": "30",
"@Narrative": "Tobacco Use:Cigar, Cigarette, Pipe, Smokeless:10/pk year"
}
}, {
"@Title": "Quit Date",
"@ID": "35",
"@ParentID": "27",
"@Narrative": "Tobacco Use:Quit Date"
}, {
"@Title": "Year Started",
"@ID": "36",
"@ParentID": "27",
"@Narrative": "Tobacco Use:Year Started"
}]
}, {
"@Title": "SocHx Template",
"@ID": "37",
"@ParentID": "1",
"helpNavNode": [{
"@Title": " Living situation: Occupation: Tobacco: EtOH: Rec. drugs: ",
"@ID": "41",
"@ParentID": "37",
"@Narrative": "SocHx Template: Living situation: Occupation: Tobacco: EtOH: Rec. drugs: "
}, {
"@Title": " Living situation: Occupation: Tobacco: EtOH: Rec. drugs: ",
"@ID": "42",
"@ParentID": "37",
"@Narrative": "SocHx Template: Living situation: Occupation: Tobacco: EtOH: Rec. drugs: "
}]
}]
}
}
答案 0 :(得分:2)
这种情况正在发生,因为Razor认为你正在尝试编写C#代码。只需添加双@来告诉Razor不要这么认为。
data = JSON.parse(temp.replace(/@@/g, ''));
同样对mapping
变量内容执行相同操作:
var mapping = {
'@@Title': 'text',
'@@ID': 'id',
'@@ParentID': 'parent',
'@@Narrative': 'value'
}
答案 1 :(得分:0)
假设您要删除所有public SequenceInformationExtractor getSequenceInformationExtractor() {
if ( getQuerySequencesString() == null ) {
return SequenceInformationExtractorNoOpImpl.INSTANCE;
}
else {
return SequenceInformationExtractorLegacyImpl.INSTANCE;
}
}
,则无需循环遍历每个属性并单独删除@
,一旦您对数据进行字符串化,您就可以一次性删除它们。
@