我正在使用Jersey并希望输出以下JSON,只显示列出的字段:
[
{
"name": "Holidays",
"value": "http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic"
},
{
"name": "Personal",
"value": "http://www.google.com/calendar/feeds/myprivatefeed/basic"
}
]
Run Code Online (Sandbox Code Playgroud)
如果必须的话,我可以使用{"feeds":...}来包围JSON,但是将其设为可选是最好的.我想从CalendarFeeds列表中提取这些信息,这些CalendarFeeds存储在通过Hibernate检索的Member POJO中.以下是简化的POJO:
public class Member {
private String username;
private String password;
private Set<CalendarFeed> calendarFeeds = new HashSet<CalendarFeed>();
}
public class CalendarFeed {
public enum FeedType { GCAL, EVENT };
private Member owner;
private String name;
private String value;
private FeedType type;
}
Run Code Online (Sandbox Code Playgroud)
目前,我有一个名为CalendarResource的Jersey资源,它手动输出带有日历源信息的JSON:
@Path("/calendars")
public class CalendarResource {
@Inject("memberService")
private MemberService memberService;
@GET
@Produces(MediaType.APPLICATION_JSON)
public String getCalendars() {
// Get currently logged in member …
Run Code Online (Sandbox Code Playgroud) 我试图检查变量是否正好是两个数字,但我似乎无法弄明白.
你如何在KornShell(ksh)中检查正则表达式(正则表达式)?
我试过了:
if [[ $month =~ "[0-9]{2}" ]]
if [[ $month = _[0-9]{2}_ ]]
Run Code Online (Sandbox Code Playgroud)
我无法在其上找到任何文档.
任何见解?
作为LINQ的新手,我创建了几个查询,并希望将它们组合成一个,但我不知道该怎么做.他们来了:
var u = dc.Users.Where(w => w.UserName == userName).SingleOrDefault();
var m = dc.Memberships.Where(w => w.UserId == u.UserId).SingleOrDefault();
m.PasswordQuestion = securityQuestion;
m.PasswordAnswer = securityAnswer;
dc.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
dc.Users
是aspnet_Users
表
dc.Membership
是aspnet_Membership
表
另外,SingleOrDefault
和之间有什么区别FirstOrDefault
?
关闭连接仍在连接池中 - 为什么?
servlet-
public class Index extends HttpServlet {
TimeZoneService timeZoneService;
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException {
WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());
timeZoneService = (TimeZoneService) ctx.getBean("timeZoneService");
timeZoneService.loadAllTimeZones();
System.out.println("Done");
}
}
public interface TimeZoneService {
void loadAllTimeZones();
}
public class TimeZoneServiceImpl implements TimeZoneService {
private TimeZoneDao tzDao;
private Map<Long, String> tzOid2JavaName = new HashMap<Long, String>();
public void loadAllTimeZones() {
List<TimeZone> timeZones = tzDao.findAllTimeZones();
for (TimeZone tz : timeZones) {
tzOid2JavaName.put(tz.getOid(), tz.getJavaName());
}
}
public void setTzDao(TimeZoneDao tzDao) { …
Run Code Online (Sandbox Code Playgroud) 我有一组数据传输对象(例如很多请求,响应消息类,如MainRequest,MainResponse,ShutDownRequest,ShutDownResponse)随着项目的发展,新类不断涌现.这些类必须(使用不同的公共XSD从各种XML格式序列化).随着项目的发展,新的XML格式也随之而来.
我的问题是如何围绕这两个要求设计我的类和接口,特别是在我应该放置实际(de)serration逻辑的地方.我应该编写一个可以接受各种DTO实例的静态服务,知道如何序列化它们吗?当新课程出现时,我必须触摸每个FormatXSeriaizer并添加新的覆盖.随着新格式的出现,我只需要编写新的FormatXSerializer类.
FormatASerializer.Serialize(XmlWriter writer, MainResponse r);
FormatASerializer.Serialize(XmlWriter writer, ShutDownResponse r);
FormatBSerializer.Serialize(XmlWriter writer, MainResponse r);
FormatBSerializer.Serialize(XmlWriter writer, ShutDownResponse r);
Run Code Online (Sandbox Code Playgroud)
或者DTO自己应该知道如何去做.所以我把它放在一个地方 - 每个DTO课程.随着新的DTO课程的出现,他们只需要实现各种格式的序列化.随着新格式的出现,我必须触及每个DTO课程.
myMainRequestInstace.Serialize(FormatTypeEnum type, XmlWriter writer);
Run Code Online (Sandbox Code Playgroud)
还是有完全不同的方法?我是否应该为序列化引入一个通用的接口并且有一些控制反转,所以我可以在运行时加载新格式的序列化器?
什么设计模式可以指导我在这里?
我可以研究.NET世界中的哪些开源代码来查看有关此主题的不同方法?
编辑:我知道框架中存在的一般序列化技术.我的问题更侧重于尊重这两个要求的类设计:多个xml格式和多个DTO(消息类型)随着项目的发展而不断涌现.
我正在构建一些C#桌面应用程序,我需要将文件保存到数据库中.我想出了一些文件选择器,它给了我正确的文件路径.现在我有问题如何使用它的路径将该文件保存到数据库中.
我有一堆我想要提交的已删除文件.
但我不想为每一个输入git rm.
如果我输入git rm.-r它会尝试删除所有内容.
我可以输入什么来一次性提交所有这些删除?
请参阅下面的git状态已更改但未更新:(使用"git add/rm ..."更新将提交的内容)(使用"git checkout - ..."放弃工作目录中的更改)
deleted: ProjectX/ProjectX/Content/Site.css
deleted: ProjectX/ProjectX/Controllers/HomeController.cs
deleted: ProjectX/ProjectX/Global.asax
deleted: ProjectX/ProjectX/Global.asax.cs
deleted: ProjectX/ProjectX/Models/HomeIndexView.cs
deleted: ProjectX/ProjectX/ProjectX.csproj
deleted: ProjectX/ProjectX/Properties/AssemblyInfo.cs
deleted: ProjectX/ProjectX/Scripts/MicrosoftAjax.debug.js
deleted: ProjectX/ProjectX/Scripts/MicrosoftAjax.js
deleted: ProjectX/ProjectX/Scripts/MicrosoftMvcAjax.debug.js
deleted: ProjectX/ProjectX/Scripts/MicrosoftMvcAjax.js
deleted: ProjectX/ProjectX/Scripts/MicrosoftMvcValidation.debug.js
deleted: ProjectX/ProjectX/Scripts/MicrosoftMvcValidation.js
deleted: ProjectX/ProjectX/Scripts/jquery-1.3.2-vsdoc.js
deleted: ProjectX/ProjectX/Scripts/jquery-1.3.2.js
deleted: ProjectX/ProjectX/Scripts/jquery-1.3.2.min-vsdoc.js
deleted: ProjectX/ProjectX/Scripts/jquery-1.3.2.min.js
deleted: ProjectX/ProjectX/Scripts/jquery.validate-vsdoc.js
deleted: ProjectX/ProjectX/Scripts/jquery.validate.js
deleted: ProjectX/ProjectX/Scripts/jquery.validate.min-vsdoc.js
deleted: ProjectX/ProjectX/Scripts/jquery.validate.min.js
deleted: ProjectX/ProjectX/Views/Home/Index.aspx
deleted: ProjectX/ProjectX/Views/Shared/Error.aspx
deleted: ProjectX/ProjectX/Views/Shared/Site.Master
deleted: ProjectX/ProjectX/Views/Web.config
deleted: ProjectX/ProjectX/Web.config
Run Code Online (Sandbox Code Playgroud) 在多层应用程序上,我需要模拟各种TCP/IP错误来测试一些重新连接代码.有谁知道我可以用于此目的的任何工具(基于Windows)?谢谢.
我正在用C编程语言(K&R)学习C 语言.
由于我不特别想在文本编辑器和运行gcc之间来回跳转,所以我决定使用xcode作为IDE.到目前为止,在第1.5.2节之前,我已经能够顺利地阅读本书的示例.
给定有效(?)程序时......
#include <stdio.h>
void main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
Run Code Online (Sandbox Code Playgroud)
...我没有收到最终输出,告诉我输入中有多少个字符.我通过xcode控制台窗口输入我的输入.
经过一些调试,看起来我的程序卡在while循环中,并且永远不会遇到EOF令牌.为了适应这一点,我已经不是取代换行符作为新的条件下,通过更换EOF
用"\n"
,也什么都不做,并给了我一个int值指针比较预警.
我在这做错了什么?
我可以使用xcode关注K&R吗?
我正在将Python2.6应用程序转换为Python3应用程序,而我却陷入了服务器的困境.我已经设法让它提供GET请求就好了,但POST继续躲避我.这是我在2.6中开始使用但在3.x中,普通服务器不处理POST请求.从我阅读Python手册看来,我必须使用CGI服务器类,并将脚本映射到该目录.我宁愿不必这样做,但我找不到另一种方式.我错过了什么吗?
def do_POST(self):
ctype, pdict = cgi.parse_header(self.headers.get('content-type'))
if ctype == 'multipart/form-data':
query = cgi.parse_multipart(self.rfile, pdict)
self.send_response(301)
self.end_headers()
upfilecontent = query.get('upfile')
print("filecontent", upfilecontent[0])
self.wfile.write("<HTML>POST OK.<BR><BR>");
self.wfile.write(upfilecontent[0]);
Run Code Online (Sandbox Code Playgroud) c# ×2
java ×2
.net ×1
c ×1
class-design ×1
datasource ×1
git ×1
jackson ×1
jboss ×1
jersey ×1
json ×1
kr-c ×1
ksh ×1
linq ×1
linq-to-sql ×1
multi-tier ×1
python ×1
python-3.x ×1
regex ×1
rest ×1
shell ×1
sql-server ×1
tcp ×1
unix ×1
while-loop ×1
windows ×1
xcode ×1