Java中的json和jsonp都是用來處理數(shù)據(jù)格式的工具,不同之處在于jsonp是一種跨域請求的技術(shù)。
JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,具有易讀易寫的特點。在Java中,我們可以通過使用第三方庫比如Gson、Jackson等來操作JSON。下面是一個示例代碼:
import com.google.gson.Gson; public class JsonDemo { public static void main(String[] args) { Gson gson = new Gson(); String json = "{\"name\":\"張三\", \"age\":18}"; Person person = gson.fromJson(json, Person.class); System.out.println(person.getName()); System.out.println(person.getAge()); } } class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
此代碼將一個JSON字符串轉(zhuǎn)換為Java對象,并打印出其中的數(shù)據(jù)。
JSONP(JSON with Padding)是一種解決跨域請求的技術(shù),在瀏覽器端執(zhí)行JavaScript代碼,實現(xiàn)動態(tài)地在頁面中添加元素。下面是一個示例代碼:
function handleResponse(data) { var message = "我的名字是" + data.name + ",今年" + data.age + "歲。"; document.getElementById("result").innerText = message; } function requestAndHandle() { var script = document.createElement("script"); script.src = "http://example.com/sample?callback=handleResponse"; document.head.appendChild(script); }
此代碼通過跨域請求獲取數(shù)據(jù),并通過JavaScript的JSONP技術(shù)將數(shù)據(jù)回調(diào)到頁面中。