C# 取消序列化JSON字符串
我有这个密码C# 取消序列化JSON字符串,c#,json.net,C#,Json.net,我有这个密码 string jsonString = "{\r\n \"value1\":\"value2\" \r\n}"; string normalString = "value4"; NameValueCollection collection = new NameValueCollection(); collection["Fi
string jsonString = "{\r\n \"value1\":\"value2\" \r\n}";
string normalString = "value4";
NameValueCollection collection = new NameValueCollection();
collection["First"] = jsonString;
collection["Second"] = normalString;
var nvcDictionary = collection.AllKeys.ToDictionary(k => k, k => collection[k]);
var result = JsonConvert.SerializeObject(nvcDictionary);
产生
{\"First\":\"{\\r\\n \\\"value1\\\":\\\"value2\\\" \\r\\n}\",\"Second\":\"value4\"}
{\"First\":\"value2\",\"Second\":\"value4\"}
但我想要这样
{\"First\":\"{\"value1\":\"value2\"}\",\"Second\":\"value4\"}
string jsonString = "{\r\n \"value1\":\"value2\" \r\n}";
string normalString = "value4";
var parsedJson = JObject.Parse(jsonString);
string valuefromJsonString = parsedJson["value1"].ToString();
NameValueCollection collection = new NameValueCollection();
collection["First"] = valuefromJsonString;
collection["Second"] = normalString;
var nvcDictionary = collection.AllKeys.ToDictionary(k => k, k => collection[k]);
var result = JsonConvert.SerializeObject(nvcDictionary);
我试过了
Regex.Unescape(jsonString);
及
但我似乎无法在开始时“取消序列化”jsonString为什么不在处理之前删除换行符
string jsonString = "{\r\n \"value1\":\"value2\" \r\n}";
jsonString = jsonString.Replace(Environment.NewLine, "");
当我运行它时,结果的值为
"{\"First\":\"{ \\\"value1\\\":\\\"value2\\\" }\",\"Second\":\"value4\"}"
不是我想要的,但我会这样解决
{\"First\":\"{\"value1\":\"value2\"}\",\"Second\":\"value4\"}
string jsonString = "{\r\n \"value1\":\"value2\" \r\n}";
string normalString = "value4";
var parsedJson = JObject.Parse(jsonString);
string valuefromJsonString = parsedJson["value1"].ToString();
NameValueCollection collection = new NameValueCollection();
collection["First"] = valuefromJsonString;
collection["Second"] = normalString;
var nvcDictionary = collection.AllKeys.ToDictionary(k => k, k => collection[k]);
var result = JsonConvert.SerializeObject(nvcDictionary);
产生
{\"First\":\"{\\r\\n \\\"value1\\\":\\\"value2\\\" \\r\\n}\",\"Second\":\"value4\"}
{\"First\":\"value2\",\"Second\":\"value4\"}
如果您打算将json字符串转换为字典,则可以使用
JsonConvert.deserialize()
方法将字符串反序列化为字典,然后基于该方法创建新字典
string jsonString = "{\r\n \"value1\":\"value2\" \r\n}";
string normalString = "value4";
Dictionary<string, string> dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonString);
Dictionary<string, string> newDict = new Dictionary<string, string>()
{
{ "First", dict["value1"] },
{ "Second", normalString }
};
Console.WriteLine(JsonConvert.SerializeObject(newDict));
// Prints:
{"First":"value2","Second":"value4"}
string jsonString=“{\r\n\“value1\”:\“value2\”\r\n}”;
字符串normalString=“value4”;
Dictionary dict=JsonConvert.DeserializeObject(jsonString);
字典newDict=新字典()
{
{“第一”,dict[“value1”]},
{“第二”,normalString}
};
WriteLine(JsonConvert.SerializeObject(newDict));
//印刷品:
{“第一个”:“value2”,“第二个”:“value4”}