我正在尝试将对象列表序列化为json,但是在json中,所有数据成员都由“ \”括起来。 例如,我的对象是:
public class ResObject
{
public double productPrice { get; set; }
public string productName { get; set; }
public double distance { get; set; }
public string fullAddress { get; set; }
public string fullStoreName { get; set; }
public string promotion { get; set; }
}
生成的json是:
"[{\"productPrice\":4,\"productName\":\"Milk\",\"distance\":0,\"fullAddress\":\"UK\",\"fullStoreName\":\"LiaStore\",\"promotion\":null},...]"
我使用了以下代码:
string json = JsonConvert.SerializeObject(Products, Formatting.None);
OR
var json = new JavaScriptSerializer().Serialize(Products);
OR
//Create a stream to serialize the object to.
MemoryStream ms = new MemoryStream();
// Serializer the User object to the stream.
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<ResObject>));
ser.WriteObject(ms, Products);
byte[] json = ms.ToArray();
ms.Close();
return Encoding.UTF8.GetString(json, 0, json.Length);
但是它没有帮助:(
(产品为List<ResObject> Products
)
谢谢!
编辑:我已修复它,问题是我序列化了列表并返回了它,并且由于它是WebAPI,因此出现了问题。解决方法是返回列表并删除序列化。
答案 0 :(得分:-1)
让我猜测...您在调试器中查看了字符串。 只需将其打印到控制台或将其写入文件,您就会发现这些“ \”已经消失。
这只是调试器中显示的转义字符。
这样,您可以在字符串中放入“”。