11using System . Collections . Generic ;
2- using System . IO ;
32using DanKeJson . Utils ;
43
54namespace DanKeJson
@@ -13,14 +12,15 @@ public class JSONL
1312 /// <returns>JsonData</returns>
1413 public static List < JsonData > AllLineToData ( string filePath )
1514 {
16- var jsonLines = new List < string > ( ) ;
1715 var dataLines = new List < JsonData > ( ) ;
1816 if ( FilePathUtility . IsFilePath ( filePath ) )
1917 {
20- jsonLines = FileLineReader . ReadAllLines ( filePath ) ;
18+ var jsonLines = FileLineReader . ReadAllLines ( filePath ) ;
2119 foreach ( var l in jsonLines )
2220 {
23- dataLines . Add ( JSON . ToData ( l ) ) ;
21+ // 添加空行检查
22+ if ( string . IsNullOrWhiteSpace ( l ) ) continue ;
23+ dataLines . Add ( JSON . ToData ( l , true ) ) ;
2424 }
2525 }
2626 return dataLines ;
@@ -34,14 +34,15 @@ public static List<JsonData> AllLineToData(string filePath)
3434 /// <returns>JsonData</returns>
3535 public static List < T > AllLineToData < T > ( string filePath ) where T : class , new ( )
3636 {
37- var jsonLines = new List < string > ( ) ;
3837 var dataLines = new List < T > ( ) ;
3938 if ( FilePathUtility . IsFilePath ( filePath ) )
4039 {
41- jsonLines = FileLineReader . ReadAllLines ( filePath ) ;
40+ var jsonLines = FileLineReader . ReadAllLines ( filePath ) ;
4241 foreach ( var l in jsonLines )
4342 {
44- dataLines . Add ( JSON . ToData < T > ( l ) ) ;
43+ // 添加空行检查
44+ if ( string . IsNullOrWhiteSpace ( l ) ) continue ;
45+ dataLines . Add ( JSON . ToData < T > ( l , true ) ) ;
4546 }
4647 }
4748 return dataLines ;
@@ -55,14 +56,15 @@ public static List<JsonData> AllLineToData(string filePath)
5556 /// <returns>JsonData</returns>
5657 public static JsonData LineToData ( string filePath , int lineNumber )
5758 {
58- string jsonLine = null ;
59- JsonData dataLine = null ;
6059 if ( FilePathUtility . IsFilePath ( filePath ) )
6160 {
62- jsonLine = FileLineReader . ReadLine ( filePath , lineNumber ) ;
63- dataLine = JSON . ToData ( jsonLine ) ;
61+ var jsonLine = FileLineReader . ReadLine ( filePath , lineNumber ) ;
62+ if ( ! string . IsNullOrWhiteSpace ( jsonLine ) )
63+ {
64+ return JSON . ToData ( jsonLine , true ) ;
65+ }
6466 }
65- return dataLine ;
67+ return null ;
6668 }
6769
6870 /// <summary>
@@ -74,17 +76,22 @@ public static JsonData LineToData(string filePath, int lineNumber)
7476 /// <returns>JsonData</returns>
7577 public static T LineToData < T > ( string filePath , int lineNumber ) where T : class , new ( )
7678 {
77- string jsonLine = null ;
78- T dataLine = null ;
7979 if ( FilePathUtility . IsFilePath ( filePath ) )
8080 {
81- jsonLine = FileLineReader . ReadLine ( filePath , lineNumber ) ;
82- dataLine = JSON . ToData < T > ( jsonLine ) ;
81+ var jsonLine = FileLineReader . ReadLine ( filePath , lineNumber ) ;
82+ if ( ! string . IsNullOrWhiteSpace ( jsonLine ) )
83+ {
84+ return JSON . ToData < T > ( jsonLine , true ) ;
85+ }
8386 }
84- return dataLine ;
87+ return null ;
8588 }
8689
87-
90+ /// <summary>
91+ /// Deserializing JsonData List to Json(String)
92+ /// </summary>
93+ /// <param name="jsonDataList">the JsonData list</param>
94+ /// <returns></returns>
8895 public static string ListToJson ( List < JsonData > jsonDataList )
8996 {
9097 if ( jsonDataList == null )
@@ -99,7 +106,14 @@ public static string ListToJson(List<JsonData> jsonDataList)
99106 return string . Join ( "\n " , jsonLines ) ;
100107 }
101108
102- public static string ListToJson ( List < object > jsonDataList )
109+
110+ /// <summary>
111+ /// Deserializing Object List to Json(String)
112+ /// </summary>
113+ /// <param name="jsonDataList">the JsonData list</param>
114+ /// <typeparam name="T">Class</typeparam>
115+ /// <returns></returns>
116+ public static string ListToJson < T > ( List < T > jsonDataList ) where T : class , new ( )
103117 {
104118 if ( jsonDataList == null )
105119 {
0 commit comments