关于c#:用NewtonSoft在一行中生成JSON对象

Generate JSON object with NewtonSoft in a single line

我正在使用JSON库NewtonSoft生成JSON字符串:

1
2
3
4
5
6
JObject out = JObject.FromObject(new
            {
                typ ="photos"
            });

            return out.ToString();

输出:

1
2
3
{
 "typ":"photos"
}

我的问题:
是否可以在单行中获得输出,如:

1
{"typ":"photos"}


您可以使用JObject.ToString()的重载,该重载将Formatting作为参数:

1
2
3
4
5
6
JObject obj = JObject.FromObject(new
{
    typ ="photos"
});

return obj.ToString(Formatting.None);


1
var json = JsonConvert.SerializeObject(new { typ ="photos" }, Formatting.None);


这是一种最小化JSON的单行代码,您只有以下字符串:

1
2
var myJson ="{"type"    :"photos"               }";
JObject.Parse(myJson).ToString(Newtonsoft.Json.Formatting.None)

输出:

1
{"type":"photos"}

我不确定这是否是您的意思,但是我要做的是::

1
string postData ="{"typ":"photos"}";

编辑:
搜索后,我在Json.Net上找到了它:

1
2
3
4
5
6
7
8
9
string json = @"{
  CPU: 'Intel',
  Drives: [
    'DVD read/writer',
    '500 gigabyte hard drive'
  ]
}"
;

JObject o = JObject.Parse(json);

,也许您可??以使用此网站上的信息。

但是我不确定输出是否在一行上...祝您好运!


如果此处的某人不想使用MVC中的任何外部库,则可以使用内置的System.Web.Script.Serialization.JavaScriptSerializer

为此的一个班轮是:

1
var JsonString = new JavaScriptSerializer().Serialize(new { typ ="photos" });