2012-10-29 3 views
0

String.Format을 사용하면서 계속 오류가 발생합니다. 입력 문자열이 올바른 형식이 아닙니다.입력 문자열의 형식이 올바르지 않은 이유는 무엇입니까?

다른 가능성을 제거하려고 시도했지만 해결 방법을 찾을 수 없습니다.

해결책은 간단해야하지만 찾을 수는 없습니다.

var peanuts = String.Format("{label: '{0}', legendEntry: true, data: { y: [new Date('{1}')], x: [new Date('{2}')], y1: [{3}] } }", 
"name", "sync date", "download date", "100"); 
+0

Json 문자열을 만들려고합니다. 왜 진짜 json 파서를 사용하지 않니? –

+0

JSON 시리얼 라이저를 사용해야합니다. – SLaks

+0

@Slaks JSON 시리얼 라이저를 사용해 보았습니다. 내 모델에는 이러한 값을 가진 객체가 없습니다. wijmo 차트의 데이터를 반환합니다. http://wijmo.com/demo/explore/?widget=BubbleChart&sample=Overview – Robert

답변

4

당신은 다른 사람들이 항목을 포맷 할 것으로 해석 될 것이다, 당신의 형식 문자열의 모든 { 문자를 이스케이프해야합니다 (대체).

{{처럼 당신이 그것을 두 배로 리터럴 브래킷 {을 삽입하려면 .

그래서 문자열은 다음과 같습니다

var peanuts = String.Format("{{label: '{0}', legendEntry: true, data: {{ y: [new Date('{1}')], x: [new Date('{2}')], y1: [{3}] }} }}", 
    "name", "sync date", "download date", "100"); 

Composite Formatting MSDN page이스케이프 교정기를 참조하십시오.

+0

고마워요 조나단! 이것이 해결책이었습니다. 그것에 대해 생각할 때 의미가 있습니다. – Robert

관련 문제