2011-08-30 12 views
0

私はObjective-Cの中のコードのこのあまりラインを理解した上で少し問題があります:私はどのようにJavaで同じコードを実行する方法を見つけようとしているJavaのObjective-CのJSONデータ

id jsonData; 
NSInteger errorCode; 
NSString* errorString; 
errorCode = [jsonData sqlInt:@"error_code"]; 
errorString = [[jsonData objectForKey:@"error_string"] retain]; 

を、そのため、このコードを理解するには少し助けが必要です。 事前に感謝!

編集: このコードはObjective Cと同じですか? : - Java用のObjective C

NSDictionary *errorString = [[jsonData objectForKey:@"error_string"] retain]; 

-

jObject = new JSONObject(errorString); 

JSONArray menuitemArray = popupObject.getJSONArray("error_string"); 

String attributeValue = jObject.getString("value"); 

System.out.println(attributeValue); 
+0

Java用にどのjsonライブラリを使用していますか? –

+0

実際にAndroid SDKのjsonライブラリをAndroidビルドに使用しています。 –

+0

また、あなたのjsonの外観はどうですか? –

答えて

1

することで、JSONデータを取得する//

SBJSON *jsonData = [SBJSON alloc]init]; - Objective c 

private JSONObject jObject; - Java 

、これを試してみてくださいいくつかの並べ替えの辞書、おそらくsqlInt NSDictionaryの「カテゴリ」拡張機能か、JSONパーサーによって使用されているカスタム辞書クラスのメソッドです。その名前から、ある種の名前付き要素を取り、そのint表現を返します。

つまり、あなたの辞書に二つの要素、「ERROR_CODE」という名前の1と「ERROR_STRING」という名前の1つを持っています。 "error_string"は単純にStringに抽出することができますが、 "error_code"はIntegerオブジェクトか整数のString表現です - あなたのコードからどのものかを知ることはできません(ただし、ソースJSONを見ればわかります)整数値は引用符で囲まれませんが、文字列値はそれになります)。

+0

errorCodeについてどうすればよいですか... Stringだけでなく、intを取得するにはどうしたらいいですか? –

+0

@Bombastic:ちょっとデータソースURLからデータを取得する必要があります。目的のCコードを参照してから、このリンクを試してからJava Stringレスポンスを取得して、上記の手順に進みます。 http://androidmaterial.blogspot.com/2011/08/json-parsing-in-android.html – Karthikeyan

+0

はこれが私の質問で追加したコードと同等ですか? –

1

おそらくあなたjsonDataはである

ErrorCode = new JSONObject(); 
    ErrorCode.put("error_code", errorCode); 
    ErrorString = new JSONObject(); 
    ErrorString.put("error_string", errorString); 
+0

(http://chat.stackoverflow.com/rooms/2998/discussion-between-karthikeyan-and-bombastic)私たちは、[チャットでこの議論を続ける]みましょう@Bombastic ..宣言とコードはerrorCode = [jsonData sqlInt:@ "error_code"]と似ています。 。これ以上何もない。 –

+0

もちろん、受け取った要素のタイプをテストすることもできます。 (Objective-Cコードは、Javaが明らかに新しいJSON文字列を作成していても、受信したデータを解析するためのコードです)。 –