2016-06-24 11 views
0

Swiftにはかなり新しく、Swift配列にmy JSON配列の値を設定する方法を理解しようとしています。Swift配列にJSON配列を設定する

私のクラスでは、私のグラフのx軸の値を保持するために次の値を定義します。

var xVal: [String]! 

以下では、静的配列を取り除き、JSONファイルのデータで置き換えようとしています。 xValはJSONファイルにアクセスしようとしますが、yValは静的で、うまく動作します。 Cannot subscript a value of type 'JSON' with an index of type 'String'

xVal = dataStatistics[indexPath.section]["xval"] 
let yVal = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0] 

setChart(xVal, values: yVal) 

これは、JSONファイルが構成されている方法です:

{ 
    "statistics": [ 
    { 
     "title": "Title of chart 1", 
     "description": "Chart one contains data of the last year", 
     "xval": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 
     "yval": [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0] 
    } 
    ] 
} 
+0

'? – t4nhpt

+0

t4nhpt @はい、私午前 –

+0

@BobWassermannはあなたがswiftyjsonを使用してJSON値を解析する方法を表示することができますしてください... – RameshVel

答えて

0

入力JSONデータに基づいて、私はswiftyjsonは別のJSON型にstatisticsを解析すると仮定xValは、次のエラーを与えます。あなたはそれがより良い方法があるかどうか分からないのです

+0

xVal = dataStatistics ["xval"]。 "dictionaryValue'を試しましたが、タイプ '[String:JSON]'の値を '[String!]'エラーに割り当てることができません –

+0

@RameshVel answer:Dで間違った方法を使用しました。 'dictionaryValue'から' xVal'変数に辞書を割り当てるべきではありません。サブ変数を取得してxValに代入する前に、新しい変数を作成してそれを保存する必要があります。 – t4nhpt

+0

これは次のようになります: 'xVal = dataStatistics [indexPath.section] .dictionaryValue [" xval "]' – t4nhpt

0

を働けば、この

let stats = dataStatistics[indexPath.section].dictionaryValue 
xval = stats["xval"] 

を見る試すことができますが、このコードはあなたのために働く必要があります:あなたは `SwiftyJSONを使用してい

 var xVal: [String] = [] 
     let stats = dataStatistics[indexPath.row]["xval"] 
     if let array = stats.array { 
      for json in array { 
       xVal.append(json.string!) 
      } 
      print(xVal) 
     } 
+0

]残念ながらそれはしません。 'メンバー 'stat''へのあいまいな参照 –

+0

私の更新を見てください。 – t4nhpt

+0

'' 'for-eachループ 'と' '未解決の識別子' json''の使用を今すぐ開始しようとしています –

関連する問題