代码之家  ›  专栏  ›  技术社区  ›  Moshe

城市飞艇标签问题

  •  1
  • Moshe  · 技术社区  · 14 年前

    我修改了别名示例代码:

        [request addRequestHeader: @"Content-Type" value: @"application/json"];
        [request appendPostData:[[NSString stringWithFormat: @"{\"alias\": \"%@\"}", self.deviceAlias]
                              dataUsingEncoding:NSUTF8StringEncoding]];
    

    到:

    [request addRequestHeader: @"Content-Type" value: @"application/json"];
    [request appendPostData:[[NSString stringWithFormat: @"{\"tags\": \"%@\"}", offsetStr]
                                                     dataUsingEncoding:NSUTF8StringEncoding]];
    

    offsetstr是一个包含时区偏移量的字符串(可以是-12到12之间的任意数字)。

    出于某种原因,城市飞艇正在把每一个字符串的字符变成自己的标签。

    我试着用 - 一个字符串 neg 同样的结果。

    发生了什么?

    1 回复  |  直到 14 年前
        1
  •  4
  •   robotadam    14 年前

    问题是“标签”应该是一个列表,而不是一个值。用方括号括起来,你就没事了。

    [request addRequestHeader: @"Content-Type" value: @"application/json"];
    [request appendPostData:[[NSString stringWithFormat: @"{\"tags\": [\"%@\]"}", offsetStr]
                                                 dataUsingEncoding:NSUTF8StringEncoding]];
    

    但是如果你想在客户端编码json,你真的应该使用json库,比如json框架或者touchjson。