![](/img/trans.png)
[英]How to send an image to a Javascript client using JSON from a Java server
[英]How to send JSON array from server to client, i.e. (java to AJAX/Javascript)?
我的 JSON.java 文件中有以下 JSON 數組:
ArrayList array=new ArrayList();
array.add("D");
array.add("A");
array.add("L");
我想將數組發送到 AJAX.jsp 中的 AJAX 腳本。 我知道如何通過例如接收 AJAX 中的文本
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
但我不知道如何將數組從服務器發送到客戶端! 感謝你的幫助
you basically use certain classes in java like the ones defined here: http://json.org/java/ convert the final output to a json string and then send it to javascript there you convert the json string back to json using eval or probably使用一個名為 json2.js 的庫,你就准備好了。
這是相同的代碼:
JSONObject obj=new JSONObject();
obj.put("name","foo");
obj.put("num",new Integer(100));
obj.put("balance",new Double(1000.21));
obj.put("is_vip",new Boolean(true));
obj.put("nickname",null);
StringWriter out = new StringWriter();
obj.writeJSONString(out);
String jsonText = out.toString();
System.out.print(jsonText);
更多http://code.google.com/p/json-simple/wiki/EncodingExamples
好的首先:
ArrayList array=new ArrayList();
array.add("D");
array.add("A");
array.add("L");
JSONArray array = new JSONArray();
這無法編譯...您有一個重復的變量數組;-)
第二:創建一個 servlet/Struts Action/etc,其中包含創建數組的代碼。 然后使用 JSON 庫將其轉換為 JSON 。 最后,將字符串放入您的 servlet/Struts Action/等的響應中。
使用 JQuery 來減輕您在 Ajax 調用上的工作量。 它將幫助您調用 Ajax 以及從 http 響應中收到的字符串轉換回 Json。
前任:
您的 ajax 調用應該是這樣的(使用 JQuery)
$.getJSON("http://yourserver/JSONServlet",
function(data){
alert (data) // this will show your actual json array
});
});
你的 servlet 應該是這樣的:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import net.sf.json.JSONArray;
public class JSONServlet extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
JSONArray arrayObj=new JSONArray();
arrayObj.add("D");
arrayObj.add("A");
arrayObj.add("L");
arrayObj.add("D");
arrayObj.add("A");
arrayObj.add("TEST");
PrintWriter out = response.getWriter();
out.println(arrayObj);
for(int i=0;i<arrayObj.size();i++){
out.println(arrayObj.getString(i));
}
}
}
最簡單的方法是在 java 文件中構造一個 json 字符串並將該 json 字符串返回給客戶端。
Javascript 提供了一個eval()
方法,它將 json 字符串反轉為 json ZA8CFDE6331BD59EB2AC96F8911C46.
然后,您可以執行您需要的任何操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.