2013-06-03 1 views
0

어이 일치하는 문자열을 공백으로 바꾸려면 정규식이 필요합니다.Replace jSon string에 대한 정규 표현식

내가 JSON

나는 어떤 널 (null) 속성이되지 않도록 비워 널 속성을 대체 할 JSON 필요
{"session":{"convener_id":null,"convergence":false,"created_at":"2012-06-02T10:00:00","event_id":null,"id":42,"name":"Test Session","next_steps":"","notes":"","room":null,"status":0,"summary":"","time":"10:0","updated_at":"2013-06-03T11:49:45.3397898+05:30","people":null,"comments":null,"convener":null}} 

아래에 있습니다. proprotties가 null 인 경우 해당 속성을 제거하십시오. 나는 정규식이 트릭을 할 수 있지만 정규식에 정통하지 않다는 것을 알고있다.

+0

를 당신은 몇 가지를 찾고 있습니다 통증 ... 중첩 된 중괄호를 올바르게 파싱하고 정규식을 사용하면 문자열을 올바르게 전달할 수 있습니다. 즉, "b {a {a : null"}) 정규 표현식에서는 쉽지 않습니다. 좋아하는 정규 표현식] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454) –

+0

당신은 자바 스크립트로 할 수 있습니까? 해야할 일은'delete obj.property'가 null 인 곳입니다. 그렇지 않으면 아마도 t JSON을 파싱하면, JSON.NET이라는 프로젝트가 당신을 도울 수 있습니다. – BrunoLM

답변

2

이 경우 Regex를 보지 말고 대신 .Net 용 JSONParser을 사용하시기 바랍니다. This 스레드가이 문제에 대해 도움을 줄 수 있습니다. JSONSerializer.NullValueHandling 설정

NullValueHandling.Ignore 로 문제를 해결해야한다.

하지만 여전히 일반 텍스트로 JSON 응답을 처리 할 문자열 작업을 수행하려는 경우, 호출은 당신을 도울 수있는이 정규식을 사용하여 (빈 문자열) 교체하려면 :

(\"[^"]+\":null,?|,?\"[^"]+\":null) 
+0

감사합니다. 내 하루를 .. .. – vinod8812

+0

도움이되어 기쁩니다! – NeverHopeless