2011-09-30 13 views
5

こんにちは、誰もが私はこのJsonデータ形式のJsonStringerの生成方法は?

jsonstr = new JSONStringer().object().key("Text") 
          .value(msg).key("Files").array().object().key(
            "ContentType").value("image/png").key(
            "Content").value(enimg) 
          .endObject().endArray().key("AuthToken").value(token) 
          .endObject(); 

を使用していたが、サーバーが私の見返りに障害メッセージを与えているこの文字列

{"Text":"Hello Simple Text", 
"Files":[{"ContentType":"image/png", 
"Content":"iVBORw0KGgoAAAANSUhEUgAAAR8AAACMCAIAAADKsDpDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH2wYWDzIB3zSYdQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAABAElEQVR4nO2de1zUVf7/3+dzmwsMoCgDXgARBO/"}], 
"AuthToken":"XkWQRd65+H+iPtlOoAEYAR0jrzB1o3UV"} 

の動的JSONStringerオブジェクトを作るために私を助けてくださいすることができます私は、JSONデータ形式を持っていますデータを受け入れません。

+2

を働くすべての可能な重複をanother..andに切り替え、別のJSONライブラリorg.json

に問題だった

のための上記の質問を参照します[エラーBase64でエンコードされた画像文字列でサーバーにJsonデータを送信中](http://stackoverflow.com/questions/7606841/error-while-sending-json-data-to-server-with-base6 4-encoded-image-string) –

+0

+1正しいフラグです。 @ MarkAllison – MKJParekh

答えて

4

は実際に私が右thing..everythingをしていたがOKでした。.. 問題は..私は別のライブラリに切り替え、すべてが働い

それはBase64文字列に正確ではありませんでしたorg.jsonパッケージにした

https://stackoverflow.com/questions/338586/a-better-java-json-library

は、私はそれが

nesting too deep in JSON... should I switch to XML?

+0

最初のリンクは無効です。どのライブラリに切り替えましたか? –

3

をJSONObjectクラスを使用することができます。

// Creating root JSONObject 
JSONObject json = new JSONObject(); 

// Put in it a String field 
json.put("Text", "Hello sample"); 

// Creating a JSONArray 
JSONArray arr = new JSONArray(); 

//Creating the element to populate the array 
JSONObject element = new JSONObject(); 
element.put("ContentType","image/png"); 
element.put("Content","iVBORw0K...gDXgARBO/"); 
// Put it in the array 
arr.put(element); 

// Put the array and other fileds in the root JSONObject 
json.put("Files", arr); 
json.put("AuthToken", "XkWQ...o3UV"); 

// Get the JSON String 
String s = json.toString(); 
// Get formatted and indented JSON String 
String s2 = json.toString(4); 
// 4 is the number of spaces to indent the string 
関連する問題