【发布时间】:2017-07-22 05:45:43
【问题描述】:
输入 JSON:
{
"name" : "objname",
"abc" : 1,
"def" : 2
}
所需的输出 JSON:
{
"objname" :
{
"abc" : 1,
"def" : 2
}
}
我尝试了如下图,但我觉得这不是正确的方法。
// This is the class object
public class Obj
{
public string Name { get;set;}
public string abc { get; set; }
public string def { get; set; }
}
var obj = JsonConvert.DeserializeObject<Obj>(json);
StringBuilder sb = new StringBuilder();
sb.Append(" { ");
sb.AppendLine(obj.Name);
sb.AppendLine(" : {");
sb.AppendLine(GetMemberName(() => obj.abc) + ":" + obj.abc + ",");
sb.AppendLine(GetMemberName(() => obj.def) + ":" + obj.abc);
sb.AppendLine(" : }");
【问题讨论】:
-
输入是无效的json,输出也是如此
-
1) 您想要的输出
"objname" : { "abc" : 1, "def" : 2 }甚至不是 JSON,它缺少外部{和}。 2) 到目前为止你尝试过什么? -
查看这个包的主页。 newtonsoft.com/json。您将看到一个 Serialize 和 DeserializeObject。这就是你需要的。在这里提问之前请先尝试。
-
所以请展示您尝试过的内容以及发生了什么。
-
@GarrGodfrey:不,JSON 不必以
{或[开头。例如,拥有一个 只是 字符串、空标记或数字的 JSON 文档是完全有效的。但是,是的,对于一个对象,您确实需要大括号。