title: Why am I now getting a cannot resolve method length error after using a fix according to a stackoverflow post(embedded)?
body: <p>I am working on a project for a while and got stuck with getting a strange Cannot Cast Exception. I found the asnwer here on this post <a href="https://stackoverflow.com/questions/20652284/java-lang-classcastexception-org-json-simple-jsonarray-cannot-be-cast-to-org-js">java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.JSONArray</a>
  but when I did what it was suggesting and change my import statement I now have two new errors that pop up. </p>
  
  <p>They are Error:(90, 39) error: cannot find symbol method getJSONObject(int)
  Error:(89, 29) error: cannot find symbol method length()</p>
  
  <p>Here is my code for MainActivity</p>
  
  <pre><code>import android.R;
  import android.app.Activity;
  import android.location.Location;
  import android.os.Bundle;
  import android.util.Log;
  
  import com.google.android.gms.common.api.GoogleApiClient;
  import com.google.android.gms.location.LocationServices;
  import com.squareup.okhttp.Call;
  import com.squareup.okhttp.Callback;
  import com.squareup.okhttp.OkHttpClient;
  import com.squareup.okhttp.Request;
  import com.squareup.okhttp.Response;
  import org.json.simple.JSONArray;
  import org.json.JSONException;
  import org.json.JSONObject;
  
  import java.io.IOException;
  import java.util.ArrayList;
  import java.util.List;
  
  import butterknife.ButterKnife;
  
  
  public class MainActivity extends Activity implements GoogleApiClient.ConnectionCallbacks {
      public static final String TAG = MainActivity.class.getSimpleName();
      private RadioData mRadioData;
  
      private GoogleApiClient mGoogleApiClient;
      private Location mLastLocation;
  
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.list_content);
          ButterKnife.bind(this);
  
          Location locationUserLatitude = mLastLocation;
          Location locationUserLongitude = mLastLocation;
          Location latitudeStation;
          Location longitudeStation;
          RadioData mRadioData = new RadioData();
  
          OkHttpClient client = new OkHttpClient();
          String radioFinderURL = "http://dredaycreative.com/json/radioData.json";
          Request request = new Request.Builder()
                  .url(radioFinderURL)
                  .build();
          Call call = client.newCall(request);
          call.enqueue(new Callback() {
              @Override
              public void onFailure(Request request, IOException e) {
              }
  
              @Override
              public void onResponse(Response response) throws IOException {
                  try {
                      String jsonData = response.body().string();
                      Log.v(TAG, jsonData);
                      if (response.isSuccessful()) {
                          getCurrentRadioData();
                      }
  
                  } catch (IOException e) {
                      Log.e(TAG, "Exception Caught: ", e);
                  } catch (JSONException e) {
                      Log.e(TAG, "Exception Caught:", e);
                  }
              }
  
          });
  
  
      }
  
  
      private List getCurrentRadioData() throws JSONException{
          List radioData = new ArrayList&lt;String&gt;();
          List localRadioData = new ArrayList();
          Object obj=JSONValue.parse(String.valueOf(radioData));
          JSONArray data;
          data = (JSONArray)obj;
          float[] results = new float[3];
          double latitudeStation = 0;
          double longitudeStation = 0;
          for (int i=0; i&lt;data.length(); i++) {
              JSONObject jasonObj = data.getJSONObject(i);
              double latitudeStations = jasonObj.getDouble("FIELD21");
              radioData.add(latitudeStations);
              double longitudeStations = jasonObj.getDouble("FIELD24");
              radioData.add(longitudeStations);
              Location.distanceBetween(mLastLocation.getLatitude(), mLastLocation.getLongitude(), latitudeStation, longitudeStation, results);
              float distance = results[0];
              distance = Math.round(distance);
  
              if ((distance) &gt; 350) {
                  JSONObject callsign = jasonObj.getJSONObject("FIELD1");
                  localRadioData.add(callsign);
                  JSONObject frequency = jasonObj.getJSONObject("FIELD2");
                  localRadioData.add(frequency);
              } else {
              radioData.add(getCurrentRadioData());
  
              }
  
  
          }
  
          return localRadioData;
      }
  
  
  
      private void updateDisplay() {
  
      }
  
  
      protected synchronized void buildGoogleApiClient() {
          mGoogleApiClient = new GoogleApiClient.Builder(this)
                  .addConnectionCallbacks(this)
                  .addOnConnectionFailedListener((GoogleApiClient.OnConnectionFailedListener) this)
                  .addApi(LocationServices.API)
                  .build();
  
  
      }
  
  
      @Override
      public void onConnected(Bundle bundle) {
          mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
                  mGoogleApiClient);
          if (mLastLocation != null) {
            //  mLatitudeLabel.setText(String.valueOf(mLastLocation.getLatitude()+ ""));
             // mLongitudeLabel.setText(String.valueOf(mLastLocation.getLongitude()+""));
          }
      }
  
  
      @Override
      public void onConnectionSuspended(int i) {
  
      }
  
  
  }
  </code></pre>
  
  <p>my RadioData.java</p>
  
  <pre><code>  /**
       * Created by Andreas on 8/10/2015.
       */
      public class RadioData {
      public String getCallSign() {
          return mCallsign;
      }
  
      public void setCallSign(String callsign) {
          mCallsign = callsign;
      }
  
      public double getFrequency() {
          return mFrequency;
      }
  
      public void setFrequency(double frequency) {
          mFrequency = frequency;
      }
  
      public int getChannel() {
          return mChannel;
      }
  
      public void setChannel(int channel) {
          mChannel = channel;
      }
  
      public double getLatitude() {
          return mLatitude;
      }
  
      public void setLatitude(double latitude) {
          mLatitude = latitude;
      }
  
      public double getLongitude() {
          return mLongitude;
      }
  
      public void setLongitude(double longitude) {
          mLongitude = longitude;
      }
  
      private String mCallsign;
      private double mFrequency;
      private int mChannel;
      private double mLatitude;
      private double mLongitude;
  
  
  
  }
  </code></pre>
  
  <p>activity main xml</p>
  
  <pre><code>    &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  xmlns:tools="http://schemas.android.com/tools"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:paddingLeft="@dimen/activity_horizontal_margin"
                  android:paddingRight="@dimen/activity_horizontal_margin"
                  android:paddingTop="@dimen/activity_vertical_margin"
                  android:paddingBottom="@dimen/activity_vertical_margin"
                  tools:context=".MainActivity"
                  android:background="#ffffed"&gt;
  
      &lt;ListView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/listView"
          android:layout_centerVertical="true"
          android:layout_centerHorizontal="true"/&gt;
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>jsonParse</p>
  
  <pre><code>package com.dredaydesigns.radiostationfinder;
  
  /*
   * $Id: JSONValue.java,v 1.1 2006/04/15 14:37:04 platform Exp $
   * Created on 2006-4-15
   */
  
  import org.json.simple.parser.JSONParser;
  
  import java.io.Reader;
  import java.io.StringReader;
  
  
  /**
   * @author FangYidong&lt;fangyidong@yahoo.com.cn&gt;
   */
  public class JSONValue {
      /**
       * parse into java object from input source.
       * @param in
       * @return instance of : JSONObject,JSONArray,String,Boolean,Long,Double or null
       */
      public static Object parse(Reader in){
          try{
              JSONParser parser=new JSONParser();
              return parser.parse(in);
          }
          catch(Exception e){
              return null;
          }
      }
  
      public static Object parse(String s){
          StringReader in=new StringReader(s);
          return parse(in);
      }
  }
  </code></pre>