1

私は iOS アプリを構築しており、JSON ファイルのマッピングに RestKit v0.20 を使用しています。JSON ファイルの構造は次のとおりです。

{
 "artists":{
  "@total":"100",
  "@page":"1",
  "@itemsPerPage":"30",
  "artist":[
   {
    "@sortName":"Ai Phoenix",
    "@name":"Ai Phoenix",
    "@mbid":"ffb0ac71-a438-4fce-91a5-58041aba0135",
    "url":"http:\/\/www.setlist.fm\/setlists\/ai-phoenix-13d78159.html"
   },
   {
    "@sortName":"Phoenix",
    "@name":"Phoenix",
    "@mbid":"02f4c1ff-65e0-4412-8e8b-6239b0faecb5",
    "url":"http:\/\/www.setlist.fm\/setlists\/phoenix-53d653f9.html"
   }
  ]
}

プレフィックス「@」を持つこれらの属性 (@sortname、@name、@mbid) をマップする方法がわかりません。通常のフィールド (@"@name"、@"@mbid"、...) としてマップしようとしましたが、失敗します。一方、@"url" は "url" フィールドに対してうまく機能しています。検索したところ、この表記はBadgerfishと呼ばれる XML ファイルからの翻訳によるものであることがわかりました。

私はこれが役立つかもしれません.このJSONファイルに対応するXMLを持っています:

<artists total="100" page="1" itemsPerPage="30">
    <artist sortName="Ai Phoenix" name="Ai Phoenix" mbid="ffb0ac71-a438-4fce-91a5-    58041aba0135">
    <url>
        http://www.setlist.fm/setlists/ai-phoenix-13d78159.html
    </url>
</artist>

誰かが私を助けることができれば、私はそれを感謝します. みんなありがとう!

4

3 に答える 3

0

マッピングにキー パスを使用していない場合、別の方法として、プライベート RestKit ブランチを作成し、valueForKey: の代わりに objectForKey: と relatives を使用することもできます。iOS アプリケーションでは、RestKit の独自のコピーを出荷する必要があります。(私の単純なアプリでこれを行いましたが、これまでのところ機能しています)

于 2013-09-05T09:14:12.203 に答える
0

私の知る限り、RESTKit は KVC を使用し、@ は KVC で使用されるため、JSON キー名では使用できません。@プレフィックスを「m_」などの別のものに変更できるかどうかを確認してください。

于 2013-04-07T16:44:06.323 に答える