asp.net 2.0에서 나열할 JSON 문자열 또는 기타 사용 가능한 형식
문제
내가 하나가 JSON
그게 오고 있어 string
체재.에 보관해야 해요 key-pair
가치관이나 그런 것.나는 사용하고있다 asp.net 2.0
그리고 제3자를 사용할 수 없습니다 DLL
좋다 Newtonsoft.Json.dll
.마지막 옵션은 다음을 사용하는 것 같아요 regular expression
.
누구든지 이것 좀 도와주실 수 있나요?
해결책
당신이 가면 http://www.json.org/ 페이지 하단을 보면 대부분 오픈 소스인 수십 개의 json 라이브러리가 있습니다. C#의 경우 8개가 나열되어 있는 것 같습니다.이러한 라이브러리 중 하나를 참조할 수 없는 경우 허용 라이센스가 있는 라이브러리를 찾아 프로젝트에 코드를 추가하는 것이 가장 좋습니다.
또 다른 아이디어는 다이어그램, 문법 및 구문을 살펴보는 것입니다. http://www.json.org/ 자신만의 파서를 작성하면 됩니다. 하지만 정규식은 아니다 그것을하는 방법.파서를 작성하는 방법을 모른다면 오픈 소스 json 라이브러리 중 하나를 보거나 좋은 CSV 파서처럼 덜 복잡한 것으로 시작할 수 있습니다. 다음은 꽤 괜찮아 보이는 문서입니다. http://www.boyet.com/Articles/CsvParser.html
다른 팁
C#에서 JScript를 사용하여 JSON을 키/값 쌍으로 직렬화할 수 있습니다.프로젝트에 몇 가지 참조를 추가해야 합니다.이는 .NET 프레임워크의 일부이므로 프로젝트에 참조를 추가하기만 하면 됩니다.너는 필요할거야:
- Microsoft.JSript
- 마이크로소프트.Vsa
먼저, 수업 상단에서 사용하는 방법은 다음과 같습니다.
using Microsoft.JScript;
using Microsoft.JScript.Vsa;
그런 다음 스크립트를 실행할 엔진을 'Page
' 코드 숨김:
VsaEngine Engine = VsaEngine.CreateEngine();
그런 다음 이 메서드를 만들고 JSON 개체를 전달하여 호출하면 됩니다.
object EvalJScript(string JScript)
{
object result = null;
try
{
result = Microsoft.JScript.Eval.JScriptEvaluate(JScript, Engine);
}
catch (Exception ex)
{
return ex.Message;
}
return result;
}
유형 object
반환된(JSON이 전달된 경우)은 'JSObject
'.키/값 쌍으로 해당 값에 액세스할 수 있습니다.읽기 MSDN 문서 이 개체에 대한 자세한 내용은
다음은 코드를 사용하는 예입니다.
string json = "({Name:\"Dan\",Occupation:\"Developer\"})";
JSObject o = EvalJScript(json) as JSObject;
string name = o["Name"] as string; // Value of 'name' will be 'Dan'
JScript.NET을 사용할 수 있나요?
그렇다면 eval()을 사용하면 충분히 쉬울 것입니다. 그런 다음 반환된 객체를 반복하고 KeyValuePair 등으로 변환하면 됩니다.
언어 뒤의 코드로 jscript.net을 사용해야 하지만 원하는 경우 사이트의 다른 페이지는 C#으로 유지해도 괜찮습니다.
이전 의견에서 언급했듯이 보안 측면과 위험을 인지해야 합니다. 구문 분석하는 JSON을 신뢰하는 경우에만 eval을 사용하세요!