잘못된 json stringify 데이터가 postgres 데이터베이스에서 반환되었습니다.필자의 경우 잘못된 JSON을 수정하는 방법은 무엇입니까?
그것은 유효하지 않은 문자열의 데이터 내 코드에서
{"{\"title\":\"john\"}","{\"tel\":\"12345\"}"}
처럼, 나는이 유효하게하려면 다음을 사용
var newJson = '"' + mydata.info.replace(/","/g, ",").replace(/^{"/, "[").replace(/"}$/, "]") + '"';
을 그러나, 나는 JSON.parse(newJson)
을 수행 할 때, 그것은 여전히 준 나 대신 개체의 문자열.
newJson = "["{\"title\":\"john\"},{\"tel\":\"12345\"}"]"
newJson = JSON.parse(newJson)
console.log(typeof newJson) => object
이 실제로 나에게 객체를 준 것입니다 : 내가 좋아하는 직접 지정하는 경우 재미있는 것은이 방법
console.log(newJson) => "["{\"title\":\"john\"},{\"tel\":\"12345\"}"]"
를 교체 한 후
newJson 값은 다음과 같다.
나는 몇 시간 동안이 잘못된 json과 싸우려고 노력했으며 실제로 내가 할 수있는 것이 무엇인지 모릅니다. 누구든지 도와 줄 수 있습니까? 고마워요!
당신은 아마도 두 번 원래의 데이터를 인코딩하는 (뭔가 지금 표시 공유 한 코드에서). 문자열 조작 함수를 사용하여 표준 데이터 형식을 조작해서는 안됩니다. –
Postgres에서'json []'(일명'json' 배열) 타입을 사용하지 않습니까? 그게 당신의 결과물처럼 보이기 때문이죠. – pozs