与.net中的Newtonsoft.Json.JsonConvert.SerializeObject(对象源,Newtonsoft.Json.JsonSerializerSettings())相对应的java代码?

与.net中的Newtonsoft.Json.JsonConvert.SerializeObject(对象源,Newtonsoft.Json.JsonSerializerSettings())相对应的java代码?,java,.net,json,serialization,blackberry,Java,.net,Json,Serialization,Blackberry,我在.net中有一个将请求序列化为json格式的代码。。。代码是这样的 var ops = new Newtonsoft.Json.JsonSerializerSettings(); ops.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore; ops.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Ignore; ops.Defaul

我在.net中有一个将请求序列化为json格式的代码。。。代码是这样的

  var ops = new Newtonsoft.Json.JsonSerializerSettings();
  ops.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
  ops.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Ignore;
  ops.DefaultValueHandling = Newtonsoft.Json.DefaultValueHandling.Ignore;
  ops.Converters.Add(new Newtonsoft.Json.Converters.JavaScriptDateTimeConverter());

  String strSO = Newtonsoft.Json.JsonConvert.SerializeObject(source,
  bIndent ? Newtonsoft.Json.Formatting.Indented : Newtonsoft.Json.Formatting.None,
  ops);
我尝试了与此部分对应的java代码,但它不起作用。

如果您的问题是“有人知道类似于Newtonsoft.Json for.NET的java用于Json格式的序列化吗?”

如果您的问题是“是否有人知道类似于Newtonsoft.Json for.NET的Java用于Json格式的序列化?”


查看

的底部根据我的理解,Newtonsoft序列化程序获取一个包含成员变量的对象,并输出一个表示该对象的json字符串

因此,您可以执行以下操作:

Product product = new Product();

product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };

string output = JsonConvert.SerializeObject(product);
 myString = new JSONStringer()
 .object()
     .key("Name")
     .value("Apple")
     .key("Expiry")
     .value("Date("+myDate.getTime()+")")
 .endObject()
 .toString();
您将得到如下输出字符串:

{"Name": "Apple",
"Expiry": "\/Date(1230375600000+1300)\/",
"Price": 3.99,
"Sizes": ["Small", "Medium", "Large"]
}
现在坏消息是,您正在使用的BlackBerry库没有使用反射来检查它序列化的对象的结构。它是格式化程序而不是序列化程序

好消息是它非常容易使用。文件如下:

简而言之,要编写如上所述的对象,您可以执行以下操作:

Product product = new Product();

product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };

string output = JsonConvert.SerializeObject(product);
 myString = new JSONStringer()
 .object()
     .key("Name")
     .value("Apple")
     .key("Expiry")
     .value("Date("+myDate.getTime()+")")
 .endObject()
 .toString();
…等等。请注意,您正在逐个元素构造JSON结构,而不是让JSON库假定您的对象就是您希望输出的数据的确切结构


希望这能让您对如何继续有所了解。

据我所知,Newtonsoft序列化程序获取一个包含成员变量的对象,并输出一个表示该对象的json字符串

因此,您可以执行以下操作:

Product product = new Product();

product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };

string output = JsonConvert.SerializeObject(product);
 myString = new JSONStringer()
 .object()
     .key("Name")
     .value("Apple")
     .key("Expiry")
     .value("Date("+myDate.getTime()+")")
 .endObject()
 .toString();
您将得到如下输出字符串:

{"Name": "Apple",
"Expiry": "\/Date(1230375600000+1300)\/",
"Price": 3.99,
"Sizes": ["Small", "Medium", "Large"]
}
现在坏消息是,您正在使用的BlackBerry库没有使用反射来检查它序列化的对象的结构。它是格式化程序而不是序列化程序

好消息是它非常容易使用。文件如下:

简而言之,要编写如上所述的对象,您可以执行以下操作:

Product product = new Product();

product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };

string output = JsonConvert.SerializeObject(product);
 myString = new JSONStringer()
 .object()
     .key("Name")
     .value("Apple")
     .key("Expiry")
     .value("Date("+myDate.getTime()+")")
 .endObject()
 .toString();
…等等。请注意,您正在逐个元素构造JSON结构,而不是让JSON库假定您的对象就是您希望输出的数据的确切结构


希望这能让您了解如何继续。

您在Java中使用哪个JSON库?@AndyT:insdide blackberry jre有一个jar文件..net_rim_api.jar。。我在那个jar中使用默认的json库..您在Java中使用哪个json库?@AndyT:insdide blackberry jre有一个jar文件..net_rim_api.jar。。我在该jar中使用默认的json库。。