1

エイリアスのサンプル コードを次のように変更しました。

    [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 までの任意の数値) を含む文字列です。

なんらかの理由で、Urban Airship は文字列の各文字を独自のタグにしています。

-を文字列に置き換えてみましたがneg、結果は同じでした。

どうしたの?

4

1 に答える 1

4

問題は、「タグ」が単一の値ではなくリストであることです。値を角かっこで囲めば問題ありません。

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

ただし、クライアントで JSON をエンコードする場合は、json-framework や TouchJSON などの JSON ライブラリを使用する必要があります。

于 2010-04-11T17:34:02.957 に答える