我试图将一些Java对象输出为JSON,它们具有List属性,我希望将其格式化为{"People":[{"Name":"Bob"},{"Name":"Jim"}]}
但是,我无法弄清楚如何使用XStream执行此操作.它始终输出为{"Person":{"Name":"Bob"},"Person":{"Name":"Bob"}
有没有办法来解决这个问题?如果你需要更具体的东西,我已经在github中整理了一些带有单元测试的示例代码:http://gist.github.com/371358
谢谢!
我有Visual Studio 2008.我是否使用Visual Studio 2008为Windows Phone 7开发软件?
我正在尝试使用Hibernate来持久化这样的类:
public class Item implements Serializable, Comparable<Item> {
// Item id
private Integer id;
// Description of item in inventory
private String description;
// Number of items described by this inventory item
private int count;
//Category item belongs to
private String category;
// Date item was purchased
private GregorianCalendar purchaseDate;
public Item() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getDescription() {
return description;
}
public void setDescription(String …Run Code Online (Sandbox Code Playgroud) (我刚刚在groups.google.com上的NUnit讨论组中发布了这个)
在VS 2008下,我会在NUnit下运行我的测试,如果我需要调试,我会将VS2008调试器附加到正在运行的Nunit进程(Debug - > Attach to Process),并在我想要检查的代码上设置任何断点.当我在NUnit中点击Run buttion时,它会触及断点.(顺便说一句,如果重要的话,这是运行NUnit 2.5.2).
我刚刚升级到NUnit 2.5.4和VS 2010.当我设置断点,然后连接到NUnit时,我在断点上得到一个小警告符号,并将鼠标悬停在它上面给出工具提示"断点不会被击中.没有符号目前正在加载".转到Debug - > Windows - > Modules窗口显示加载了一大堆Windows和NUnit模块,符号状态为"Skipped loading symbols",然后是1个模块,每个模块都有一个有趣的名称(r1euhmh5)和"无符号加载"的符号状态.(没有像我正在测试的DLL那样具有远程名称的模块的痕迹).
右键单击有趣的文件名(假设是我测试中的DLL的一些映射),然后单击Load Symbol From From - > Symbol Path,导航到bin\debug文件夹,然后单击我测试的DLL的pdb文件,I收到消息"在此文件夹中找不到匹配的符号".("打开"对话框的顶部有一行显示"原始位置:r1euhmh5.pdb")
那么改变了什么?我如何在VS 2010/NUnit 2.5.4下进行调试/断点(或者当我决定通过我的VS2010选项并将它们中的一些设置为比我知道的更高级别时,我可能搞砸了一些东西在做什么?)
我感谢任何帮助.
当鼠标悬停在标记上时,我想用div制作一个工具提示,但我不知道如何获得屏幕位置将div放在正确的位置,这是我的代码:
google.maps.event.addListener(marker, "mouseover", function() {
divover.css("left", marker.get("left"));
divover.css("top", marker.get("top"));
divover.css("display", "block");
});
google.maps.event.addListener(marker, "mouseout", function() {
divover.css("display", "none");
});
Run Code Online (Sandbox Code Playgroud)
显然get方法失败了.任何的想法?
google-maps mouseover tooltip google-maps-api-3 google-maps-markers
我使用以下代码在xml列中的sql数据库中保存了一个数据集.
XmlDataDocument dd = new XmlDataDocument(dataset);
Run Code Online (Sandbox Code Playgroud)
并将此xml文档作为sql参数传递使用
param.value = new XmlNodeReader(dd);
Run Code Online (Sandbox Code Playgroud)
XML就像
<NewDataSet><SubContractChangeOrders><AGCol>1</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>006</Contract_x0020_Number><ContractID>30</ContractID><ChangeOrderID>211</ChangeOrderID><Amount>0.0000</Amount><Udf_CostReimbursableFlag>false</Udf_CostReimbursableFlag><Udf_CustomerCode /><Udf_SubChangeOrderStatus /></SubContractChangeOrders><SubContractChangeOrders><AGCol>2</AGCol><SCO_x0020_Number>002</SCO_x0020_Number><Contract_x0020_Number>006</Contract_x0020_Number><ContractID>30</ContractID><ChangeOrderID>212</ChangeOrderID><Amount>0.0000</Amount><Udf_CostReimbursableFlag>false</Udf_CostReimbursableFlag></SubContractChangeOrders><SubContractChangeOrders><AGCol>3</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>111</Contract_x0020_Number><ContractID>87</ContractID><ChangeOrderID>12</ChangeOrderID><Amount>300.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>4</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>222</Contract_x0020_Number><ContractID>80</ContractID><ChangeOrderID>6</ChangeOrderID><Amount>100.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>5</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>777</Contract_x0020_Number><ContractID>79</ContractID><ChangeOrderID>5</ChangeOrderID><Amount>200.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>6</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>786</Contract_x0020_Number><ContractID>77</ContractID><ChangeOrderID>3</ChangeOrderID><Amount>100.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>7</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>787</Contract_x0020_Number><ContractID>78</ContractID><ChangeOrderID>4</ChangeOrderID><Amount>500.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>8</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Con 009</Contract_x0020_Number><ContractID>219</ContractID><ChangeOrderID>78</ChangeOrderID><Amount>9000.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>9</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Con 010</Contract_x0020_Number><ContractID>220</ContractID><ChangeOrderID>79</ChangeOrderID><Amount>13000.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>10</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Con 012</Contract_x0020_Number><ContractID>222</ContractID><ChangeOrderID>83</ChangeOrderID><Amount>2300.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>11</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Con 020</Contract_x0020_Number><ContractID>226</ContractID><ChangeOrderID>86</ChangeOrderID><Amount>5400.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>12</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Con 021</Contract_x0020_Number><ContractID>227</ContractID><ChangeOrderID>87</ChangeOrderID><Amount>2300.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>13</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Con001</Contract_x0020_Number><ContractID>208</ContractID><ChangeOrderID>72</ChangeOrderID><Amount>3000.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>14</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Con002</Contract_x0020_Number><ContractID>209</ContractID><ChangeOrderID>73</ChangeOrderID><Amount>400.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>15</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Con003</Contract_x0020_Number><ContractID>210</ContractID><ChangeOrderID>74</ChangeOrderID><Amount>6000.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>16</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Con004</Contract_x0020_Number><ContractID>211</ContractID><ChangeOrderID>75</ChangeOrderID><Amount>9000.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>17</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Con005</Contract_x0020_Number><ContractID>213</ContractID><ChangeOrderID>76</ChangeOrderID><Amount>17000.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>18</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>Cont001</Contract_x0020_Number><ContractID>228</ContractID><ChangeOrderID>89</ChangeOrderID><Amount>2000.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>19</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>PUR001</Contract_x0020_Number><ContractID>229</ContractID><ChangeOrderID>88</ChangeOrderID><Amount>1000.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>20</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>PUR002</Contract_x0020_Number><ContractID>230</ContractID><ChangeOrderID>90</ChangeOrderID><Amount>3000.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>21</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>SC-002</Contract_x0020_Number><ContractID>2</ContractID><ChangeOrderID>7</ChangeOrderID><Amount>200.0000</Amount></SubContractChangeOrders><SubContractChangeOrders><AGCol>22</AGCol><SCO_x0020_Number>001</SCO_x0020_Number><Contract_x0020_Number>SC-004</Contract_x0020_Number><ContractID>7</ContractID><ChangeOrderID>65</ChangeOrderID><Amount>1000.0000</Amount></SubContractChangeOrders></NewDataSet>
Run Code Online (Sandbox Code Playgroud)
我试着按如下方式阅读它
using (SqlConnection con = new SqlConnection("Server=#####;Initial Catalog=#####;User ID=####;Pwd=########"))
{
using (SqlCommand com = new SqlCommand("select * from dbo.tbl_#####", con))
{
using (SqlDataAdapter ada = new SqlDataAdapter(com))
{
ada.Fill(dt);
MemoryStream ms = new MemoryStream();
object contractXML1 = dt.Rows[0]["SCOXML1"];
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
bf.Serialize(ms, contractXML1);
ms.Seek(0, SeekOrigin.Begin);
ds.ReadXml(ms);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
根级别的数据无效.第1行,第6位.
有任何想法吗?
更新
我将代码更改为以下内容.我能够获得数据集的结构,其中包含所有表格.但不是数据.
using (SqlConnection con = …Run Code Online (Sandbox Code Playgroud) 在Python脚本中,有很多情况下键盘中断(Ctrl-C)因except代码中某处的裸子句而无法终止进程:
try:
foo()
except:
bar()
Run Code Online (Sandbox Code Playgroud)
Python 2.5或更高版本中的标准解决方案是捕获Exception而不是使用裸except子句:
try:
foo()
except Exception:
bar()
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为从Python 2.5开始,KeyboardInterrupt并且SystemExit继承自BaseException,而不是Exception.但是,一些安装仍在运行Python 2.4.如何在Python 2.5之前的版本中处理此问题?
(我将自己回答这个问题,但是把它放在这里,以便搜索它的人可以找到解决方案.)
是否有php函数来删除字符串中的空格?例如:$ abcd ="这是一个测试"我想得到字符串:$ abcd ="thisisatest"
怎么做?谢谢.
即使在研究了这些例子之后,我也无法弄清楚如何使用MultiIndex容器上的复合键来提取范围.
typedef multi_index_container<
boost::shared_ptr< Host >,
indexed_by<
hashed_unique< const_mem_fun<Host,int,&Host::getID> >, // ID index
ordered_non_unique< const_mem_fun<Host,int,&Host::getAgeInY> >, // Age index
ordered_non_unique< const_mem_fun<Host,int,&Host::getHousehold> >, // Household index
ordered_non_unique< // Age & eligibility status index
composite_key<
Host,
const_mem_fun<Host,int,&Host::getAgeInY>,
const_mem_fun<Host,bool,&Host::isPaired>
>
>
> // end indexed_by
> HostContainer;
Run Code Online (Sandbox Code Playgroud)
我的目标是让一个迭代器指向HostContainer hmap具有age 的元素子集中的第一个partnerAge并返回false到Host::isPaired():
std::pair< hmap::iterator,hmap::iterator > pit = hmap.equal_range(boost::make_tuple( partnerAge, false ) );
Run Code Online (Sandbox Code Playgroud)
我认为这是非常错误的.
std::pair?(我正在从一个我不理解的例子中复制语法.)
std::count来计算的时代元素的数量partnerAge有资格(返回false到Host::isPaired() …