2016-06-22 11 views
-1

GoogleスプレッドシートのJSONデータを解析するiOSアプリケーションを作成しています。 Google JSONデータの問題の1つは、削除する必要のある不要なデータが含まれていることです。私はiOSプログラミングの新人です。(Swift)IndexOfを使用して複数回文字を削除する方法

/*O_o*/google.visualization.Query.setResponse({"version":"0.6","reqId":"0","status":"ok","sig":"1400846503","table":{JSON DATA I NEED}}); 

私はこのコードを使用してAndroid上でJAVAでこれを行っている

int start = result.indexOf("{", result.indexOf("{") + 1); 
int end = result.lastIndexOf("}"); 
String jsonResponse = result.substring(start, end); 

マイSWIFTコード

  var something = "My google JSON Data" 
      let Start = String(something).characters.indexOf("{")!; 
      let substring1: String = something.substringFromIndex(Start); 

      something = substring1; 

     let End = String(something).characters.indexOf(")")!.distanceTo(something.endIndex); 
     let index3 = something.endIndex.advancedBy(-End); 
     let substring4: String = something.substringToIndex(index3) 

私は第二の指標をどのように得るかされて、私は聞いていますのよ"{"

+4

NSJsonSerializerを使用してJSONをオブジェクトに変換し、それにアクセスするのはなぜでしょうか。あなた自身のテキストを解析することは悪い考えだ – Paulw11

答えて

1

あなたはNSJsonSerializerを使用する必要がありますが、それをやりたいのであれば:

extension String { 
    func indexOf(target: String) -> Int { 
     if let range = self.rangeOfString(target) { 
      return self.startIndex.distanceTo(range.startIndex) 
     } else { 
      return -1 
     } 
    } 
    func indexOf(target: String, startIndex: Int) -> Int { 
     let startRange = self.startIndex.advancedBy(startIndex) 
     if let range = self.rangeOfString(target, options: .LiteralSearch, range: startRange..<self.endIndex) { 
      return self.startIndex.distanceTo(range.startIndex) 
     } else { 
      return -1 
     } 
    } 
} 

let end = myString.indexOf("{", startIndex: myString.indexOf("{") + 1) 
+0

私はいくつかのエラーを持っているものを混乱させたと思う。 'distance'は利用できませんインデックスの 'distanceTo(End)'メソッドを呼び出す 'advance'は利用できません 'advanceBy ) 'メソッド ' Init(開始:終了) 'は推奨されていません。 '.. <'演算子を使用 – Greg432

+0

@ Greg432私の投稿編集をご覧ください。 – Code

関連する問題