JSON 및 JavaScript를 기반으로 DSL을 만들고 있는데 키 값을 '원시'로 지정하고 문자열 구분 기호로 묶지 않아야합니다. 희망이 설명 빠른 예 :객체로 구문 분석하기 전에 JSON을 수동으로 파싱
{myKey:custom_function('arg1'), myKey2:custom_function("another arg1")}
{myKey:"custom_function('arg1')", myKey2:"custom_function(\"another arg1\")"}
JSON 개체를 구문 분석시, custom_function이 존재하지 않기 때문이다 될 것이다. 나는 값을 평가하지 않고 JSON을 구문 분석 할 수 있어야하고, 키를 반복 할 때마다 값을 하나씩 만 확장해야한다.
두 번째 코드 단편을 두 번째 코드 단으로 전환하는 데 사용할 수있는 정규식 또는 다른 방법은 무엇입니까?
나는 더 간단한 해결책이 케이스의 90 %를 덮을 것이라고 가정하고 있지만, 방탄 구현을 작성하는 것은 많은 노력을 필요로 할 것입니다. 내가 자바 스크립트의 정규 표현식 지원 (applessly lookbehind 기능 없음)에 대한 연구를 기반으로하면, 정규식 패턴이 1 ~ 2 라인 이상 필요하다고 가정하고 있습니다.
또한 노드 응용 프로그램을위한 것이므로 모든 트릭이 유용합니다.
는편집 :
이 질문은 몇 가지 downvotes을 받고있는 것 같다,하지만 난 미래 명의 Google/내 자신의 참조의 이익을 위해 어쨌든 그것을 떠 났어요. 어떤 방법/기법이 이런 종류의 문제에 가장 잘 작동하는지에 대한 질문은 완벽하게 유효합니다. 비슷한 문제에 직면 한 다른 노드/js 신규 이식자가 쉽게 생길 수 있습니다.
미안 해요하지만하는 DSL은 무엇인가? –
도메인 특정 언어. 사용자가 응용 프로그램을 지시하는 스크립트를 작성할 수있는 기능이있는 복잡한 비즈니스 사례입니다. – Trindaz
DSL이 DSL 하이브리드 JSON 모델이기 때문에 downvotes가 느껴진다. JSON을 DSL로 사용하는 것보다 훨씬 의미가있다. DSL은 단지 JSON 표준이어야한다고하는 경영진의 주장에 따르면 요점은 관리가 쉽고, 미래 보장되며, 구현하기가 더 쉽다는 점입니다. – balupton