You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何发送无转义符的含引号JSON字符串至服务器?

嘿,这个转义符的坑我太熟了!本质上你是把代码里的字符串字面量和实际要传输的JSON内容搞混了——你看到的\"只是代码里用来表示真实双引号的写法,真正发去服务器的应该是不带转义的纯JSON。下面分几种常见场景给你解决办法:

1. 用语言自带的JSON序列化工具(最推荐,零出错)

别手动拼字符串!直接构造对象,让语言的JSON工具帮你处理引号:

  • JavaScript/Node.js:
    // 先创建普通对象
    const data = { property1: false, property2: "orange" };
    // 序列化为标准JSON字符串
    const jsonString = JSON.stringify(data);
    // 发送时直接用这个字符串,它的内容就是 {"property1":false,"property2":"orange"}
    fetch('/your-api-endpoint', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: jsonString
    });
    
  • Python:
    import json
    import requests
    
    data = {"property1": False, "property2": "orange"}
    # 直接用requests的json参数,它会自动序列化并设置请求头
    requests.post('https://your-server.com/api', json=data)
    
    # 如果要手动序列化:
    # json_string = json.dumps(data)
    # requests.post('https://your-server.com/api', data=json_string, headers={'Content-Type': 'application/json'})
    
  • Java:
    import com.fasterxml.jackson.databind.ObjectMapper;
    import java.util.HashMap;
    import java.util.Map;
    
    public class JsonExample {
        public static void main(String[] args) throws Exception {
            Map<String, Object> data = new HashMap<>();
            data.put("property1", false);
            data.put("property2", "orange");
            
            ObjectMapper mapper = new ObjectMapper();
            String jsonString = mapper.writeValueAsString(data);
            // 用HttpClient发送jsonString,记得设置Content-Type为application/json
        }
    }
    

2. 如果你非要手动拼接字符串(不推荐,容易踩坑)

如果特殊情况必须手动写JSON字符串,要注意:你在代码里写的\"只是告诉编译器“这是一个普通双引号”,实际运行时字符串内容里是没有\的。比如在JavaScript里,你可以用console.log("{\"property1\": false, \"property2\": \"orange\"}")看看,输出的就是不带转义的JSON。如果发送后服务器还是收到转义符,大概率是你重复序列化了(比如又调用了一次JSON.stringify)。

3. 务必设置正确的请求头

发送请求时一定要把Content-Type设为application/json,很多服务器会根据这个头自动解析JSON内容;如果没设置,服务器可能把它当成普通字符串,导致转义符被错误保留。

总结一下:永远优先用语言自带的JSON序列化工具,别手动拼JSON,这是避开转义问题最省心的办法。

内容的提问来源于stack exchange,提问作者chr0x

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:37:21