導航:首頁 > 編程語言 > javaobjectjson

javaobjectjson

發布時間:2023-04-06 06:53:32

1. java中JSONObject

private static String castToJson(Object obj) {
if (obj == null) {
return "null";
} else if (obj instanceof Boolean) {
return obj.toString();
} else if (obj instanceof Integer || obj instanceof Long
|| obj instanceof Float || obj instanceof Double
|| obj instanceof Short || obj instanceof java.math.BigInteger
|| obj instanceof java.math.BigDecimal) {
return obj.toString();
} else if (obj instanceof String) {
String v = (String) obj;
v = v.replaceAll("\\\\", "\\\\陸仿段\\\\");
v = v.replaceAll("\n"大臘, "\\\\n");
v = v.replaceAll("\r", "\\\\r");
v = v.replaceAll("\"", "\\\\\"");
v = v.replaceAll("'", "\\\\\'");
return "\"" + v + "\"";
} else if (obj instanceof java.sql.Date) {
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
java.sql.Date v = (java.sql.Date) obj;
String s = df.format(new java.util.Date(v.getTime()));
return "\"" + s + "\"";
} else if (obj instanceof java.util.Date) {
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
java.util.Date v = (java.util.Date) obj;
String s = df.format(v);
return "\"" + s + "\"";
} else if (obj instanceof java.sql.Timestamp) {
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
java.sql.Timestamp v = (java.sql.Timestamp) obj;
String s = df.format(new java.util.Date(v.getTime()));
return "\""早譽 + s + "\"";
} else {
return null;
}

}

還是用這個自己手都轉看著放心,他們那個用著不舒服

2. java JsonObject怎麼判斷一個json串中是否含有某個key值

代碼:

json.get("key")

(括弧里的是你要判斷的值或者參數)

3. Java解析json數據

一、 JSON (JavaScript Object Notation)一種簡單的數據格式,比xml更輕巧。
Json建構於兩種結構:
1、「名稱/值」對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關聯數組 (associative array)。 如:
{
「name」:」jackson」,
「age」:100
}

2、值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(array)如:
{
「students」:
[
{「name」:」jackson」,「age」:100},
{「name」:」michael」,」age」:51}
]
}
二、java解析JSON步驟
A、伺服器端將數據轉換成json字元串
首先、伺服器端項目要導入json的jar包和json所依賴的jar包至builtPath路徑下(這些可以到JSON-lib官網下載:http://json-lib.sourceforge.net/)

然後將數據轉為json字元串,核心函數是:
public static String createJsonString(String key, Object value)
{
JSONObject jsonObject = new JSONObject();
jsonObject.put(key, value);
return jsonObject.toString();
}
B、客戶端將json字元串轉換為相應的javaBean
1、客戶端獲取json字元串(因為android項目中已經集成了json的jar包所以這里無需導入)
public class HttpUtil
{

public static String getJsonContent(String urlStr)
{
try
{// 獲取HttpURLConnection連接對象
URL url = new URL(urlStr);
HttpURLConnection httpConn = (HttpURLConnection) url
.openConnection();
// 設置連接屬性
httpConn.setConnectTimeout(3000);
httpConn.setDoInput(true);
httpConn.setRequestMethod("GET");
// 獲取相應碼
int respCode = httpConn.getResponseCode();
if (respCode == 200)
{
return ConvertStream2Json(httpConn.getInputStream());
}
}
catch (MalformedURLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}

private static String ConvertStream2Json(InputStream inputStream)
{
String jsonStr = "";
// ByteArrayOutputStream相當於內存輸出流
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
// 將輸入流轉移到內存輸出流中
try
{
while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
{
out.write(buffer, 0, len);
}
// 將內存流轉換為字元串
jsonStr = new String(out.toByteArray());
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return jsonStr;
}
}
2、獲取javaBean
public static Person getPerson(String jsonStr)
{
Person person = new Person();
try
{// 將json字元串轉換為json對象
JSONObject jsonObj = new JSONObject(jsonStr);
// 得到指定json key對象的value對象
JSONObject personObj = jsonObj.getJSONObject("person");
// 獲取之對象的所有屬性
person.setId(personObj.getInt("id"));
person.setName(personObj.getString("name"));
person.setAddress(personObj.getString("address"));
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

return person;
}

public static List<Person> getPersons(String jsonStr)
{
List<Person> list = new ArrayList<Person>();

JSONObject jsonObj;
try
{// 將json字元串轉換為json對象
jsonObj = new JSONObject(jsonStr);
// 得到指定json key對象的value對象
JSONArray personList = jsonObj.getJSONArray("persons");
// 遍歷jsonArray
for (int i = 0; i < personList.length(); i++)
{
// 獲取每一個json對象
JSONObject jsonItem = personList.getJSONObject(i);
// 獲取每一個json對象的值
Person person = new Person();
person.setId(jsonItem.getInt("id"));
person.setName(jsonItem.getString("name"));
person.setAddress(jsonItem.getString("address"));
list.add(person);
}
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

return list;
}

4. java如何返回json格式

處理基本的java對象使讓困用JSONObject類,用法大體如下:

public void testMap(){

Map<String,Object> map = new HashMap<String,Object>();

map.put("name", "qiu");

map.put("password", "123");

map.put("address", "china");

User user = new User();

user.setUserName("qiuqiu");

user.setPassword("枝滑運123456");

user.getTels().add("1234444556677");

user.getTels().add("6893493458585");

map.put("user", user);

JSONObject json = new JSONObject(map);

System.out.println(json.toString());

}

5. java中object數據怎麼轉換成json數據

你可以通過這個(json-lib-2.3-jdk15.jar)陵絕游野jar里的方法尺磨姿轉換

JSONObject json = JSONObject.fromObject(Object);
如果對象數組
JSONArray json = JSONArray .fromObject(person);

6. java中,怎麼把兩個jsonObject合並成一個

方法為,把兩個拼裝好的JSON串合並成一個新的JSON,兩個JSON相同的key值情況下只保存一個,後放入的JSON串對應key的Value值會覆蓋先放入的。

具體操作設置方法為

import net.sf.json.JSONObject;

public class JSONCombine

{

public static void main(String[] args)

{

JSONObject jsonOne = new JSONObject();

JSONObject jsonTwo = new JSONObject();

jsonOne.put("name", "kewen");

jsonOne.put("age", "24");

jsonTwo.put("hobbit", "Dota");

jsonTwo.put("hobbit2", "wow");

JSONObject jsonThree = new JSONObject();

jsonThree.putAll(jsonOne);

jsonThree.putAll(jsonTwo);

System.out.println(jsonThree.toString());

}

}

運行結果:
{"name":"12345","age":"24","hobbit":"Dota","hobbit2":"wow"}

7. java怎麼用jsonobject

json可以看成是由JSONObject與JSONArray組成的,他們彼此可以相互嵌套。如:
JSONObject obj=jsonObject.getJSONObject("第一級Object名");
JSONArray jsonArray = obj.getJSONArray("Object中的array名");
JSONObject pages = jsonArray.getJSONObject(0); //從jsonArray中解析第一個Object
JSONObject pageTimings=pages.getJSONObject("繼續解析array中的object");
String onContentLoad=pageTimings.getString("onContentLoad"); //得到想要的值

把{}大括弧擴起來的看成是object,如果有名字就根據名字來解析,如果念檔沒名字就根據序號來解散掘析,上面的代碼兩種情況均有涉及,請注意參考與更改變數名。[]擴起來的看成數組,用getArray解析,同樣可以用名字或仔掘亂序號解析,jsonObject是讀取進來的json文件的對象

8. Java中JSONObject為什麼要轉換成Java對象來使用

JSONObject在JAVA中其實就相當於Map, 可賣臘以通過key取到值;
而JAVA對象蠢配世,一般是JAVA中的model或者domain 模型帶肢對象, 這種對象代表的是一個業務的模型,是有明確的意義的, 包括裡面的屬性類型都是明確定義;
轉換成對象之後,操作其中的值就可以用getter,setter方法明確指定, 一般其他人使用的時候也能知道裡面有什麼,而如果只有一個JSONObject, 使用的時候除了先在控制台輸入裡面的內容是不知道裡面有什麼的, 並不適合在JAVA方法中的數據傳遞使用

9. java中的jsonobject和jsonarray有什麼區別呢

jsonObject 是類似於map的結構 jsonArray 則是類似於數組和list的結構

10. java里的JSONObject作用是什麼什麼時候用

JsonObject 就是常說的 json。是一種重要的數據傳輸對象。其格式為{"key1":value1,"key2",value2....};key 必須是字元串。

因為ajax請求不刷新頁面,但配合js可以實現局部刷新,因此json常常被用來作為非同步請求的返回對象使用。

通過response.getWriter()獲取PrintWriter pw,然後pw.print(json)。如果沒有設置response.setContentType("application/json; charset=utf-8"); 則需要自己再js中進行解析。

(10)javaobjectjson擴展閱讀

Java中交互方式分為同步和非同步兩種:

同步交互:指發送一個請求,需要等待返回,然後才能夠發送下一個請求,有個等待過程;

非同步交互:指發送一個請求,不鍵寬需要等待返回,隨時可以再發送下一個請求,即不需磨亮飢要等待。

區別:一個需要等待,一個不需要等待,在部分情況下,項目開發中都會優先選擇不需要等待的非同步交互方式。

比如銀行的轉賬系統,對瞎返資料庫的保存操作等等,都會使用同步交互操作,其餘情況都優先使用非同步交互。



閱讀全文

與javaobjectjson相關的資料

熱點內容
linuxsftp連接 瀏覽:934
光伏日發電量演算法 瀏覽:125
小肚皮app怎麼才有vip 瀏覽:616
php全形轉換半形 瀏覽:927
java字元序列 瀏覽:539
杭州編譯分布式存儲區塊鏈 瀏覽:575
材料壓縮曲線 瀏覽:247
linux命令排序 瀏覽:151
手機熱點加密為啥連接不上電腦 瀏覽:979
編譯器合並計算 瀏覽:959
android音頻曲線 瀏覽:343
linuxftp自動登錄 瀏覽:802
運行編譯後網頁 瀏覽:70
閱讀app怎麼使用 瀏覽:319
centos防火牆命令 瀏覽:432
命令行變更 瀏覽:332
linux設備和驅動 瀏覽:207
加密貨幣騙局破案 瀏覽:345
cc特徵碼加密 瀏覽:775
清空dns緩存命令 瀏覽:295