我正在编写代码,我可以使用多种数据(如shorttext,Geocoordinates和image)序列化JSON文件。但在生成之后它将显示出一条大线。但是我想用新的行顺序组织它。但是通过我的代码我无法生成它。我在这里使用的代码是 -
public class GeoCoordinates
{
public double Longitude { get; set; }
public double Latitude { get; set; }
}
public class POIData
{
public string Shorttext { get; set; }
public GeoCoordinates GeoCoordinates { get; set; }
public List<string> Images { get; set; }
}
现在我使用这个类的我的类是
public GeoCoordinates GeosFromString(string path)
{
string[] lines = File.ReadAllLines(path);
GeoCoordinates gc = new GeoCoordinates();
gc.Latitude = Double.Parse(lines[0].Substring(4));
gc.Longitude = Double.Parse(lines[1].Substring(4));
return gc;
}
public void ToJsonForLocation(string name)
{
var startPath = Application.StartupPath;
string folderName = Path.Combine(startPath, "Text_ImageWithHash");
System.IO.Directory.CreateDirectory(folderName);
string fileName = name + ".json";
var path = Path.Combine(folderName, fileName);
var Jpeg_File = new DirectoryInfo(startPath + @"\Image\" + name).GetFiles("*.jpg");
POIData Poi=new POIData();
Poi.Shorttext = File.ReadAllText(startPath + @"\Short Text\" + name + ".txt");
Poi.GeoCoordinates=GeosFromString(startPath + @"\Latitude Longitude\" + name + ".txt");
Poi.Images=new List<string> { Jpeg_File[0].Name};
string json = JsonConvert.SerializeObject(Poi);
File.WriteAllText(path , json);
}
答案 0 :(得分:1)
尝试替换此代码:
string json = JsonConvert.SerializeObject(Poi);
有了这个:
string json = JsonConvert.SerializeObject(Poi, Formatting.Indented);