将Json转换为明确的新对象,使用C#进行List初始化。
问题的出现原因是需要将Json转换为具体的新对象,并且需要进行列表初始化。解决方法是使用在线服务或使用JavaScript代码进行转换。
在这个问题中,提供了两种解决方法。首先,可以使用在线服务如https://www.jsonutils.com/来进行转换。其次,可以使用JavaScript代码进行转换,代码如下:
function Convert(jsonStr, classNr) { var i = classNr == undefined ? 0 : classNr; var str = ""; var json = JSON.parse(jsonStr); for (var prop in json) { if (typeof(json[prop]) === "number") { if (json[prop] === +json[prop] && json[prop] !== (json[prop] | 0)) { str += prop + " = " + json[prop] + "M, "; } else { str += prop + " = " + json[prop] + ", "; } } else if (typeof(json[prop]) === "boolean") { str += prop + " = " + json[prop] + ", "; } else if (typeof(json[prop]) === "string") { str += prop + ' = "' + json[prop] + '", '; } else if (json[prop] == null || json[prop] == undefined) { str += prop + ' = null, '; } else if (typeof(json[prop]) === "object") { str += prop + " = " + Convert(JSON.stringify(json[prop]), i++) + ", "; } } if (str.endsWith(', ')) { str = str.substring(0, str.length - 2); } return "new Class" + i + "{ " + str + " }"; }
此外,还提供了一个包含HTML和JavaScript代码的示例,用于演示如何将Json转换为具体的新对象,并进行列表初始化。示例代码如下:
以上是解决这个问题的原因和方法。参考来源:https://stackoverflow.com/a/34590681/1932159
问题的出现原因是需要将一个Json字符串转换为C#中的显式新对象或列表初始化。
解决方法一是使用Newtonsoft库中的JObject对象。首先,需要引用Newtonsoft库。然后,可以使用JObject的Parse方法将Json字符串解析为JObject对象。最后,使用ToString方法将JObject对象转换为字符串并输出。
解决方法二是使用jsonutils创建一个C#等效类,然后使用Newtonsoft库中的JsonConvert类将Json对象解析为该等效类的实例。首先,需要引用jsonutils库。然后,使用jsonutils创建一个C#等效类,该类与Json字符串的结构相匹配。最后,使用JsonConvert的DeserializeObject方法将Json字符串的内容解析为该等效类的实例。
以上是将Json转换为显式新对象或列表初始化的两种解决方法。