以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 临时表序列化JSON时多了四个字段? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88586) |
-- 作者:jnletao -- 发布时间:2016/8/5 11:44:00 -- 临时表序列化JSON时多了四个字段? 全局变量 以下内容为程序代码: 1 ConvertHelper 2 3 Public Class ConvertHelper 4 5 \'把对象序列化为Json字符串 6 Public Shared Function ToJson(ByVal fromObject As Object) As String 7 Return Newtonsoft.Json.JsonConvert.SerializeObject(fromObject) 8 End Function 9 10 \' 把Json字符串反序列化为指定类型的对象 11 Public Shared Function FromJson(Of T)(ByVal jsonString As String) As T 12 Return Newtonsoft.Json.JsonConvert.DeserializeObject(Of T)(jsonString) 13 End Function 14 15 \'字符串转换成字节数组 16 Public Shared Function EncodingToBytes(ByVal s As String, Optional encode As System.Text.Encoding = Nothing) As Byte() 17 Dim encoding As System.Text.Encoding = IIf(encode Is Nothing, System.Text.Encoding.Unicode, encode) 18 Return encoding.GetBytes(s) 19 End Function 20 21 \' 字节数组转换成字符串 22 Public Shared Function EncodingToString(ByVal bytes As Byte(), Optional encode As System.Text.Encoding = Nothing) As String 23 Dim encoding As System.Text.Encoding = IIf(encode Is Nothing, System.Text.Encoding.Unicode, encode) 24 Return encoding.GetString(bytes) 25 End Function 26 27 \'把DataRow值赋值到对象的实体对象 28 Public Shared Sub FromDataRow(ByVal Row As DataRow, ByRef entity As EntityBase) 29 Dim fs As System.Reflection.PropertyInfo() = entity.Gettype.GetProperties 30 Dim f As System.Reflection.PropertyInfo 31 For Each f In fs 32 If ((Not Row.DataTable Is Nothing) AndAlso Row.DataTable.DataCols.Contains(f.Name)) Then 33 Dim o As Object = Row.Item(f.Name) 34 If (Not o Is DBNull.Value) Then 35 f.SetValue(entity, o, Nothing) 36 End If 37 End If 38 Next 39 End Sub 40 41 \' 把实体值赋值到DataRow 42 Public Sub ToDataRow(ByVal entity As EntityBase, ByRef Row As DataRow) 43 Dim fs As System.Reflection.PropertyInfo() = entity.Gettype.GetProperties 44 Dim f As System.Reflection.PropertyInfo 45 For Each f In fs 46 If ((Not Row.DataTable Is Nothing) AndAlso Row.DataTable.DataCols.Contains(f.Name)) Then 47 Dim o As Object = f.GetValue(entity, Nothing) 48 If (o Is Nothing) Then 49 Row.Item(f.Name) = DBNull.Value 50 Else 51 Row.Item(f.Name) = o 52 End If 53 End If 54 Next 55 End Sub 56 End Class 57 临时表 DataTables("JSON临时表").Fill("Sele ct TOP 1 车辆照片 As imgList,车辆类型 As modelName,年检有效期 As checktime,[_Identify] From {车辆信息} Order by [_Identify] Desc","data",True) JSON后多出来的四列: "_Locked":null,"System_Sort_Temporary":null,"System_Filter_Temporary":null,"System_Filter_Unique":null 请教如何在JSON时屏蔽无关字段?
|
-- 作者:大红袍 -- 发布时间:2016/8/5 11:56:00 -- 无法屏蔽的。你可以生成后,截取,删除掉。 |
-- 作者:大红袍 -- 发布时间:2016/8/5 11:57:00 -- 与其这样,你还不如自己合成json字符串。循环每一行每一列即可。 |