2011-09-30 41 views
5

chào tôi có một định dạng dữ liệu JSON bất cứ ai có thể vui lòng giúp tôi để làm cho đối tượng JSONStringer động cho chuỗi nàycách tạo JsonStringer cho Định dạng Dữ liệu Json này?

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

tôi đã sử dụng

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(); 

nhưng máy chủ được đem lại cho tôi lỗi nhắn lại, không chấp nhận dữ liệu.

+2

thể trùng lặp của [Lỗi Trong khi gửi dữ liệu Json đến máy chủ bằng chuỗi hình ảnh được mã hóa Base64] (http://stackoverflow.com/questions/7606841/error-while-sending-json-data-to-server-with-base6 4-mã hóa-hình ảnh-chuỗi) –

+0

+1 cho cờ chính xác. !! @MarkAllison – MKJParekh

Trả lời

4

thực sự tôi đã làm thing..everything đúng là OK .. vấn đề là với gói org.json không chính xác với chuỗi Base64

tôi chuyển sang thư viện khác và tất cả đã hoạt động ..

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

xem các câu hỏi trên cho một thư viện json

đó là vấn đề với org.json

tôi chuyển sang another..and tất cả nó hoạt động

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

+0

Liên kết đầu tiên không hợp lệ bây giờ. Bạn đã chuyển sang thư viện nào? –

3

Đây là một cách để làm những gì bạn muốn:

// 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 
Các vấn đề liên quan