gpt4 book ai didi

java - 如何通过JSON获取特定格式的数据

转载 作者:行者123 更新时间:2023-11-30 05:03:15 26 4
gpt4 key购买 nike

以下是用于从 gtalk 获取在线名册的代码片段

                     if (status == true) {
Roster roster =connection.getRoster();
Collection<RosterEntry> entries =roster.getEntries();
System.out.println(roster.getEntryCount());
int count1 = 0;
int count2 = 0;
for(RosterEntry r:entries)
{
Presence presence = roster.getPresence(r.getUser());
if(presence.getType() == Presence.Type.unavailable)
{
// System.out.println(user + "is offline");
count1++;
}
else
{
String rosterNamesJson = new Gson().toJson(r.getName());
String rosterUserJson =new Gson().toJson(r.getUser());
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
//array of 2 elements
String rosterInfoJson=response.getWriter().write("rosterNamesJson"+"rosterUserJson"]);
response.sendRedirect("Roster.jsp");
//System.out.println(name+user + "is online");
count2++;
}
}
}

现在,在我的 jsp 页面中,我想将名册填充为姓名和他的 jid,即 xoxoxo:xoxoxo@gmail.comjjj:jjj@gmail.com 等等。我如何实现这一目标?

我应该构造 Json 元素吗

users
{
name:
jid:
}

然后在我的JSP页面中编写函数来访问数据?

我的功能是

     $(function() {
$.getJSON('xxxServlet', function(rosterInfoJson) {
var $ul = $('<ul>').appendTo($('#roster'));
$.each(rosterInfoJson, function(index, rosterEntry) {
$('<li>').text(rosterEntry.user).appendTo($ul);
});
});
});

最佳答案

是的。你应该将你的 JSON 构建为

 users
{
name:
jid:
}

您可能想要定义一个映射 JSON 的 Java 类。

public class MyUser{
public String name;
public String jid;
public MyUser(String name, String jid){
this.name=name;
this.jid=jid;
}
}

然后,只需将所有在线使用附加到列表或其他内容

ArrayList<MyUser> mul = new ArrayList<MyUser>();
if (status == true) {
...
...
for(RosterEntry r:entries) {
if(...){
...
}
else
{
mul.add(new MyUser(r.getName(),r.getUser());
count2++;
}
}

response.setContentType("application/json");
response.getWriter().write(new Gson().toJSON(mul));
response.setCharacterEncoding("utf-8");
response.sendRedirect("Roster.jsp");

在你的 JavaScript 中

...
$('<li>').text(rosterEntry.name +":"+rosterEntry.jid).appendTo($ul);
...

关于java - 如何通过JSON获取特定格式的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5959297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com