[英]Converting ordinary string to object
是否可以将普通字符串转换为:
"Data: {
id: '288dsbshbdas8dsdsb',
data: '2pm'
}"
至:
Data: {
id: '288dsbshbdas8dsdsb',
data: '2pm'
}
尝试过这样的:
string input = "Data: {id: '288dsbshbdas8dsdsb', data: '2pm'};
var output = Convert.ChangeType(input, TypeCode.Object);
但这仍然返回字符串吗?
使用NewtonSoft JsonTextWriter和JsonTextReader您可以轻松地编写和读取这种字符串。
要编写您的必须使用JsonTextWriter
属性:
writer.QuoteName = false;
writer.QuoteChar = '\'';
要阅读自定义配置。
using System;
using System.IO;
using Newtonsoft.Json;
public class Program
{
public static void Main()
{
var objSource= new RootObject{
Data= new Data{
id="123456",
data="FooBar"
}
};
var serializer = new JsonSerializer();
var stringWriter = new StringWriter();
var writer = new JsonTextWriter(stringWriter);
writer.QuoteName = false;
writer.QuoteChar = '\'';
serializer.Serialize(writer, objSource);
var input= stringWriter.ToString();
Console.WriteLine(input);
JsonTextReader reader = new JsonTextReader(new StringReader(input));
var result = serializer.Deserialize<RootObject>(reader);
result.Dump();
}
public class Data
{
public string id { get; set; }
public string data { get; set; }
}
public class RootObject
{
public Data Data { get; set; }
}
}
编写者将返回{Data:{id:'123456',data:'FooBar'}}
而不是Data:{id:'123456',data:'FooBar'}
请注意,在字符串周围还有多余的{}
。
从另一个获得的字符串操作就足够了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.