강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

s Lee님의 프로필 이미지
s Lee

작성한 질문수

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

HTML 블로그 자동 생성: AI 기반 콘텐츠 완성 전략

HTML 작성시에 문제가 생겼습니다!!

해결된 질문

작성

·

16

0

AI agent노드에서 HTML코드를 생성하는데 자꾸 백슬래시(\)가 따라 붙네요. 프롬프트에도 쓰지말라고 다시 한 번 명시를 했는데도 안돼서, Set노드를 통해 제거를 했는데도 output값에 자동으로 달려 나옵니다.

 

image.png

이런식으로 Set노드를 설정했는데

output값에 여전히 \가 붙습니다.

"<div style=\"line-height: 1.6;\"><h1>초보자를 위한 완벽한 파이썬 입문 방법 (2025년 최신, 설치부터 기초 강의 추천까지)</h1><div style=\"background-color: #E5FAF7; color: #015249; border: 1px solid #C4E1DC; padding: 30px; margin: 30px 0; border-radius: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.05);\"><p style=\"color: #015249 !important; font-size: 20px !important;\">

 

근데 뭐가 문제인지는 모르겠는데 또

Set노드의 expression창을 키워서 들어가보면 output값이 깨끗하거든요?

image.png

근데 왜 실제 결과값에는 자동으로 저런게 붙는지 모르겠습니다..

답변 2

0

남박사님의 프로필 이미지
남박사
지식공유자

안녕하세요, s Lee님.

말씀하신 백슬래시는 백슬래시 단독으로 사용되는 문자는 아니고 \" 를 하나의 문자로 봐야 하며 이를 이스케이프 문자라고도 합니다.

 

지금 보면 최종결과가 output : "내용" 처럼 JSON으로 출력되는데 이 "내용" 은 이미 쌍따옴표로 감싸져 있는데 이 안에서 쌍따옴표를 처리할수가 없습니다. 예를 들어 내용:"a="1", b="2"" 뭐 이런 값이 있다고 가정한다면 쌍따옴표를 앞에서부터 순서대로 그룹핑 해보면 a= 까지가 되고 1 되고 , b= 으로 묶이고... 이러면서 오류가 날 수 밖에 없습니다. 그래서 이런 경우 "a=\"1\", b=\"2\"" 처럼 표기하면 \"는 이스케이프 문자로 처리 되기 때문에 문제없이 원래 표현하려던 값을 표현할 수 있게 되는겁니다.

물론 그래서 파이썬 문법에서는 문자열 표현식을 output: 'a="1", b="2"' 처럼 큰 틀의 변수값을 홑따옴표로 묶고 안에서는 쌍따옴표 처리가 가능하지만 이는 파이썬만의 독특한 문법이며 파이썬을 제외한 대부분의 언어에서는 (JSON포함) 문자열 표현식은 무조건 output="내용" 처럼 쌍따옴표만 사용이 가능하기에 내부적으로 다시 쌍따옴표를 처리하기 위해선 반드시 이스케이프문자 표현식을 사용할 수 밖에 없습니다.

 

이스케이프 문자에는 \\ (역슬래시 자체를 표현), \" (쌍따옴표), \t (탭), \n (엔터), \b (백스페이스) 등등 이외에도 여러가지가 더 존재합니다.

 

궁금하신 부분이 해결되셨으면 좋겠습니다.

0

안녕하세요, 인프런 AI 인턴입니다. s Lee님.

HTML 코드에서 백슬래시()가 자동으로 추가되는 문제는 종종 데이터가 문자열로 처리될 때, 특히 JSON 형식의 데이터일 경우 발생할 수 있는 흔한 이슈입니다. 백슬래시가 추가되는 이유는 HTML 코드가 JSON 형식으로 인코딩될 때 문자열 내의 특수문자를 이스케이프 처리하기 때문입니다.

원인 및 해결 방법

  1. 이스케이프 문자 처리

    • JSON 포맷에서는 큰따옴표(")를 포함한 문자열을 표현하기 위해 이스케이프 문자(백슬래시)가 추가될 수 있습니다. 이를 해결하는 방법은 출력 시 이스케이프 문자를 적절히 제거하거나, 데이터를 필요에 맞게 파싱하는 것입니다.
  2. Set 노드 활용

    • Set 노드를 사용하여 백슬래시()를 제거하기 위한 자바스크립트 표현식을 사용할 수 있습니다. JSON.parse() 메서드를 활용하면 이스케이프 처리를 해제하여 깔끔한 HTML을 얻을 수 있습니다.
    • 예를 들어, Set Node의 표현식에서 다음과 같이 사용하세요:
      
      const output = JSON.parse($json["field_name"]);
      return output;
      

  3. 플랫폼 특성 확인

    • 플랫폼의 코드 처리 특성을 확인하여, 필요에 따라 템플릿 렌더링 방식을 조정할 수도 있습니다.
  4. 테스트와 개선

    • AI 노드 실행 후, 출력을 늘 확인하여 결과 데이터를 검증하고, 필요할 경우 맞춤형 함수나 로직을 추가하는 것이 좋습니다.

유사한 문제를 다룬 관련 질문을 링크해 드립니다. 도움이 될 수 있으니 참고해 주세요:

위 링크들은 JSON과 HTML 코드 처리 시 발생할 수 있는 유사한 문제를 다룹니다. 제안된 해결책을 참고하시어 문제를 해결하시길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

s Lee님의 프로필 이미지
s Lee

작성한 질문수

질문하기