Posting json format data using Robot Framework

I am attempting to post to my API using robot framework Here is my code:

*** Variables ***
${json_String}=  {"FileName": "\\\\PATH", "ClientCode": "Attachments", "Template": "$::Attachments"}

*** Test Cases ***
    Create Session   Framework_API   ${FW_API}
    Sleep   1s
    #${body}=   Create dictionary   ${json_String}
    ${header}=   Create dictionary  Content-Type=application/json
    ${response}=   Post Request  alias=Framework_API  uri=${uri}   headers=${header}   data=${json_String}
    Sleep   1s
    log to console   ${Response.status_code}
    log to console   ${Response.content}
    Sleep    3s


    ${res_body}=   convert to string   ${response.content}

When looking within my log, The body shows:

 body="{\"FileName\": \"PATH\", \"ClientCode\": \"Attachments\", \"Template\": "$::Attachments\"}" 

I have no clue why the additional escapes are showing up I can only assume the data is not being translated properly. I have done quite a few searches and all I have seen states I am coding this correctly. I may need to convert to JSON. But I tried that as well. Same result (400 error) due to invalid submitted data. Any assistance is greatly appreciated


The additional escapes are correct. I wonder about the last element though: $:: Attachment misses an escape.

The escapes are necessary, because response.content is a string containing the json.

If you want json as dictionary you need:

${body}    Evaluate    json.loads($response.content}