我有像三個coloums(id(整數),startdate(文本),enddate(文本))的數據庫。 我想讀這些coloums的所有條目,將它們轉換爲Json併發送到web url。 我知道如何讀取值,但不知道如何從這些值製作Json。 請任何編碼幫助...如何創建Json對象
4
A
回答
3
爲什麼你不試:
`
JSONObject object = new JSONObject();
try {
object.put("id", id);
object.put("startDate", startDate);
object.put("endDate", endDate);
} catch (JSONException e) {
e.printStackTrace();
}`
然後通過HTTP POST發送JSON對象
`
HttpClient hc = new DefaultHttpClient();
String message;
HttpPost p = new HttpPost(url);
try {
message = object.toString();
p.setEntity(new StringEntity(message, "UTF8"));
p.setHeader("Content-type", "application/json");
HttpResponse resp = hc.execute(p);
if (resp != null) {
if (resp.getStatusLine().getStatusCode() == 204)
result = true;
}
Log.d("Status line", "" + resp.getStatusLine().getStatusCode());
} catch (Exception e) {
e.printStackTrace();
}`
所以例如,如果你想創建一個包含所有你從一個SQLite得到三胞胎JSON對象分貝這將是:
String query = "SELECT *"+
"from "+TABLE_NAME;
Cursor c = db.rawQuery(query,new String[]{});
Log.d("query",query);
c.moveToFirst();
while(c.moveToNext()){
try {
int id = c.getInt(c.getColumnIndex("ID"));
String startDate = c.getString(c.getColumnIndex("START_DATE"));
String endDate = c.getString(c.getColumnIndex("END_DATE"));
object.put("id", id);
object.put("startDate", startDate);
object.put("endDate", endDate); }}
其中ID,START_DATE和END_DATE是數據庫中字段的相應名稱。
我無法測試我的代碼,但現在我相信它的工作原理
3
下面是如何使一個JSON對象:
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", idValue);
jsonObject.put("startDate", endDateValue);
jsonObject.put("endDate", endDateValue);
您還可以通過執行獲得JSON作爲字符串:
jsonObject.toString();
0
JSONObject json = new JSONObject();
json.put("id", id);
json.put("startdate", startdate);
json.put("enddate", enddate);
0
使用傑克遜庫,可以在地圖或Java bean的轉換成JSON字符串或生成一個JSON字符串的地圖或JavaBean。你可能會寫一個實用程序類:
public class JsonUtil {
private static final ObjectMapper MAPPER = new ObjectMapper();
public static String convertToJsonStr(Object model) throws IOException {
return MAPPER.writeValueAsString(model);
}
@SuppressWarnings("unchecked")
public static Map<String, Object> readFromStr(String content) throws IOException {
return readFromStr(content, Map.class);
}
public static <T> T readFromStr(String content, Class<T> clazz) throws IOException {
return MAPPER.readValue(content, clazz);
}
}
相關問題
- 1. 如何創建json對象?
- 2. 創建JSON對象
- 3. 如何使用JSON創建對象?
- 4. 如何爲json對象創建c#類?
- 5. 如何從JSON POST創建新對象?
- 6. 如何在jsp中創建json對象?
- 7. 如何創建JSON的對象
- 8. 如何在Python中創建JSON對象
- 9. 如何使用JSONObject創建JSON對象?
- 10. 如何從JSON NSDictionary中創建對象
- 11. 如何創建JSON對象節點js
- 12. 如何在javascript中創建JSON對象
- 13. 如何動態創建JSON對象?
- 14. 爲JSON對象創建CRUD?
- 15. symfony2從對象創建json
- 16. 循環創建JSON對象
- 17. 用C#對象創建JSON
- 18. 創建一個JSON對象
- 19. JSON對象創建錯誤
- 20. 從JSON創建對象
- 21. 從JsonSchema4創建json對象
- 22. 動態創建JSON對象
- 23. 創建JSON對象(試圖)
- 24. 如何創建JSON對象和對象數組?
- 25. Android-創建JSON數組和JSON對象
- 26. 創建JSON對象的JSON列表
- 27. 基於json對象創建JSON模式
- 28. Rails - 用json對象創建json-array
- 29. 通過對比另外兩個JSON創建JSON對象對象
- 30. Android創建JSON POST,如何使用JSON對象/數組創建此格式
這裏是[文件](http://developer.android.com/reference/org/json/JSONObject.html);) – xiaowl 2012-08-01 08:22:22
當我環你的代碼,是它爲第二個條目創建新的Json對象...? – user1567965 2012-08-01 09:04:35
是的。由於存在「= new JSONObject();」 – 2012-08-01 09:20:44