想实现写入为一下的格式
"[{'a':'a1','b':'b1'},{'a':'a2','b':'b2'}]"
求教各位大神,应该怎样用代码实现写入以下的格式
public static string ToJson(object obj, bool formatjson)
{
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
IsoDateTimeConverter idtc = new IsoDateTimeConverter();
idtc.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
JsonSerializer serializer = new JsonSerializer();
serializer.Converters.Add(idtc);
JsonWriter jw = new JsonTextWriter(sw);
if (formatjson)
{
jw.Formatting = Formatting.Indented;
}
serializer.Serialize(jw, obj);
//JsonConvert.SerializeObject(dt, idtc).ToString();
return sb.ToString();
}
1.
// 获取当前程序所在路径,并将要创建的文件命名为info.json
string fp = System.Windows.Forms.Application.StartupPath + "\info.json";
if (!File.Exists(fp)) // 判断是否已有相同文件
{
FileStream fs1 = new FileStream(fp, FileMode.Create, FileAccess.ReadWrite);
fs1.Close();
}
2.
string fp = System.Windows.Forms.Application.StartupPath + "\info.json";
File.WriteAllText(fp, JsonConvert.SerializeObject(obj));
1 是创建文件
2 是写入相关数据
你要的那个 可以把 File.WriteAllText(fp, JsonConvert.SerializeObject(obj)); 中的JsonConvert.SerializeObject(obj) 该成
"\"[{\"a\":\"a1\",\"b\":\"b1\"},{\"a\":\"a2\",\"b\":\"b2\"}]\""
public static string ToJson(object obj, bool formatjson)
{
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
IsoDateTimeConverter idtc = new IsoDateTimeConverter();
idtc.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
JsonSerializer serializer = new JsonSerializer();
serializer.Converters.Add(idtc);
JsonWriter jw = new JsonTextWriter(sw);
if (formatjson)
{
jw.Formatting = Formatting.Indented;
}
serializer.Serialize(jw, obj);
//JsonConvert.SerializeObject(dt, idtc).ToString();
return sb.ToString();
}
JSON也是字符串,和写入字符串的方法一样写文件就OK
封装解析字符串的方法啊
哦可,已解决了。蟹蟹各位的指教。
首先你需要将json字符串解析成对象,然后再将list的数据转化为sql语句插入到数据库里。
可以用网上带的json解析类或者.net自带的需要在工程里添加对System.Web.Extensions.dll的引用,然后
using System.Web.Script.Serialization;
var Serializer=new JavaScriptSerializer();
object Obj=Serializer.DeserializeObject(jsonstr);
这个Obj就是解析出来的数据类,你可以调试看它的结构
object[] Obj=Serializer.DeserializeObject(jsonstr) as object[];
Obj[x]是一个Dictionary
里面是一个list数组
其中每一个元素也是一个Dictionary
在最后这个字典里 就可以取到"id","name","sex"的key value了
你可以定义一个对象啊 里面有a和b两个属性 然后初始化一个list然后add上你需要的两组数据 再用json相关的库转成字符串,最后写入文件