首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >json中不必要的双引号

json中不必要的双引号
EN

Stack Overflow用户
提问于 2016-09-28 14:12:57
回答 3查看 421关注 0票数 0

我在.NET中有以下代码

代码语言:javascript
运行
复制
public JsonResult<string> Get()
    {
        Message message1 = new Message("lala1");
        Message message2 = new Message("lala2");

        List<Message> listOfMessages = new List<Message>();

        listOfMessages.Add(message1);
        listOfMessages.Add(message2);

        var json = new JavaScriptSerializer().Serialize(listOfMessages);
        return Json(json);
    }

我得到的结果是:

“{\”message\“:\”lala2 1“},{\”message\“:\”lala2 2“}”

我不希望双引号("")在开头和结尾。它为什么要加它们?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-28 14:51:30

JavaScriptSerializer类的MSDN文档实际上是建议,如下所示:

应该使用Json.NET进行序列化和反序列化。

JSON.NET库成为在.NET中使用JSON的事实上的标准,例如,它是与ASP.NET Web (链接)一起使用的默认序列化程序。

下面是如何重写代码以使用JSON.NET (一定要将Newtonsoft.Json nuget包添加到解决方案中):

代码语言:javascript
运行
复制
public static void Main()
{
    var result = SerializeMessages();
    Console.WriteLine(result);
}

public static string SerializeMessages()
{
    var listOfMessages = new List<Message>
    {
        new Message("lala1"),
        new Message("lala2")
    };

    return JsonConvert.SerializeObject(listOfMessages);
}
票数 1
EN

Stack Overflow用户

发布于 2016-09-28 14:37:42

您正在尝试在JSON中序列化JSON。改变:

代码语言:javascript
运行
复制
var json = new JavaScriptSerializer().Serialize(listOfMessages);
return Json(json);

致:

代码语言:javascript
运行
复制
return Json(listOfMessages);
票数 1
EN

Stack Overflow用户

发布于 2016-09-28 14:56:46

通过使用并返回一个JObjects列表来解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39750052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档