62,046
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Json;
namespace test
{
public class JsonString
{
public static string stringify(Object obj)
{
using (var ms = new MemoryStream())
{
new DataContractJsonSerializer(obj.GetType()).WriteObject(ms, obj);
return Encoding.UTF8.GetString(ms.ToArray());
}
}
}
public class Car{
public string carName;
public Car() { }
public Car(string carName){
this.carName=carName;
}
}
public class Stu {
public int id;
public string name;
public List<Car> cars;
public Stu() { }
public Stu(int id,string name,List<Car> cars) {
this.id = id;
this.name = name;
this.cars = cars;
}
}
class Program
{
static void Main(string[] args)
{
List<Car> cars = new List<Car>() { new Car("BenChi"), new Car("BaoMa") };
List<Stu> stuList = new List<Stu>() { new Stu(1, "aa", cars), new Stu(2, "bb", cars) };
string jsonstring = JsonString.stringify(stuList);
Console.WriteLine(jsonstring);
int k;
k = int.Parse(Console.ReadLine());
}
}
}
加什么都一样,不影响
是你要的结果么?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Json;
namespace test
{
public class JsonString
{
public static string stringify(Object obj)
{
using (var ms = new MemoryStream())
{
new DataContractJsonSerializer(obj.GetType()).WriteObject(ms, obj);
return Encoding.UTF8.GetString(ms.ToArray());
}
}
}
public class Car{
public string carName;
public Car() { }
public Car(string carName){
this.carName=carName;
}
}
public class Stu {
public int id;
public string name;
public List<Car> cars;
public Stu() { }
public Stu(int id,string name,List<Car> cars) {
this.id = id;
this.name = name;
this.cars = cars;
}
}
class Program
{
static void Main(string[] args)
{
List<Car> cars = new List<Car>() { new Car("BenChi"), new Car("BaoMa") };
List<Stu> stuList = new List<Stu>() { new Stu(1, "aa", cars), new Stu(2, "bb", cars) };
string jsonstring = JsonString.stringify(stuList);
Console.WriteLine(jsonstring);
int k;
k = int.Parse(Console.ReadLine());
}
}
}
是你要的结果么?using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Runtime.Serialization.Json; namespace test { public class JsonString { public static string stringify(Object obj) { using (var ms = new MemoryStream()) { new DataContractJsonSerializer(obj.GetType()).WriteObject(ms, obj); return Encoding.UTF8.GetString(ms.ToArray()); } } } public class Stu { public int id; public string name; public Stu() { } public Stu(int id,string name) { this.id = id; this.name = name; } } class Program { static void Main(string[] args) { List<Stu> stuList = new List<Stu>(){ new Stu(1,"aa"),new Stu(2,"bb")}; string jsonstring = JsonString.stringify(stuList); Console.WriteLine(jsonstring); int k; k = int.Parse(Console.ReadLine()); } } }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Json;
namespace test
{
public class JsonString
{
public static string stringify(Object obj)
{
using (var ms = new MemoryStream())
{
new DataContractJsonSerializer(obj.GetType()).WriteObject(ms, obj);
return Encoding.UTF8.GetString(ms.ToArray());
}
}
}
public class Stu {
public int id;
public string name;
public Stu() { }
public Stu(int id,string name) {
this.id = id;
this.name = name;
}
}
class Program
{
static void Main(string[] args)
{
List<Stu> stuList = new List<Stu>(){ new Stu(1,"aa"),new Stu(2,"bb")};
string jsonstring = JsonString.stringify(stuList);
Console.WriteLine(jsonstring);
int k;
k = int.Parse(Console.ReadLine());
}
}
}
为啥不用第三方dll呢?Newtonsoft.Json
根据格式可以自己写个方法 自动生成你要的json字符串这个是个笨办法啊 你也可以自己根据格式拼接啊。。。不过好像list本来就可以用那个javaScriptSerializer转化成json数据的public static string ConvertListToJson(list<TsetJson> dt) { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值 ArrayList arrayList = new ArrayList(); foreach (TestJson Row in dt) { Dictionary<string, object> dictionary = new Dictionary<string, object>(); //实例化一个参数集合 dictionary.Add("id", row.id);//把 row的值手动添加到arrylist里 arrayList.Add(dictionary); //ArrayList集合中添加键值 } return javaScriptSerializer.Serialize(arrayList); //返回一个json字符串 }
public static string ConvertListToJson(list<TsetJson> dt)
{
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值
ArrayList arrayList = new ArrayList();
foreach (TestJson Row in dt)
{
Dictionary<string, object> dictionary = new Dictionary<string, object>(); //实例化一个参数集合
dictionary.Add("id", row.id);//把 row的值手动添加到arrylist里
arrayList.Add(dictionary); //ArrayList集合中添加键值
}
return javaScriptSerializer.Serialize(arrayList); //返回一个json字符串
}
这个是个笨办法啊 你也可以自己根据格式拼接啊。。。不过好像list本来就可以用那个javaScriptSerializer转化成json数据的public string stringify(Object obj) { using (var ms = new MemoryStream()) { new DataContractJsonSerializer(obj.GetType()).WriteObject(ms, obj); return Encoding.UTF8.GetString(ms.ToArray()); } }
public string stringify(Object obj)
{
using (var ms = new MemoryStream())
{
new DataContractJsonSerializer(obj.GetType()).WriteObject(ms, obj);
return Encoding.UTF8.GetString(ms.ToArray());
}
}