【问题标题】:REST/JSON: Should I include a newline after the JSON string?REST/JSON:我应该在 JSON 字符串之后包含一个换行符吗?
【发布时间】:2010-04-20 00:24:52
【问题描述】:

如果我从 RESTful Web 查询返回 ["foo"],以下哪个更合适?迂腐的 REST 解析会死在换行符上吗?

["foo"]\n     (with newline, Content-Length=8)
["foo"]       (no newline, Content-Length=7)

对于简单的回归测试,我喜欢带有换行符的表单,但我想确保我不会破坏任何可能对 REST 格式有更严格视图的应用程序框架。

【问题讨论】:

    标签: web-services json rest


    【解决方案1】:

    引自RFC 4627粗体强调相关部分。

    JSON 文本是一系列标记。令牌集包括六个 结构字符、字符串、数字和三个文字名称。

    JSON 文本是一个序列化的对象或数组。

     JSON-text = object / array
    

    这些是六个结构字符:

     begin-array     = ws %x5B ws  ; [ left square bracket
    
     begin-object    = ws %x7B ws  ; { left curly bracket
    
     end-array       = ws %x5D ws  ; ] right square bracket
    
     end-object      = ws %x7D ws  ; } right curly bracket
    
     name-separator  = ws %x3A ws  ; : colon
    
     value-separator = ws %x2C ws  ; , comma
    

    在这六个中的任何一个之前或之后都允许有无关紧要的空格 结构字符。

    【讨论】:

      【解决方案2】:

      JSON 应该是空白不敏感的。我想从技术上讲,JSON.org 的规范说“可以在任何一对标记之间插入空格”,但是解析器必须非常迂腐才能在第一个标记之前或之后抱怨空格最后。

      【讨论】:

        猜你喜欢
        • 2019-04-03
        • 1970-01-01
        • 2018-10-16
        • 2011-01-10
        • 2018-02-02
        • 1970-01-01
        • 1970-01-01
        • 2011-05-14
        相关资源
        最近更新 更多