【问题标题】:how to deserealizate manually如何手动解除现实
【发布时间】:2014-01-27 03:58:25
【问题描述】:

我有这个字符串

{\"Data\":null,\"ErrorCode\":0,\"IsSuccess\":false,\"Message\":\"No hay informacion para descargar\",\"SuccessCode\":100}

{\"Data\":{\"BranchCodes\":[\"30\"],\"ProcessId\":86},\"ErrorCode\":0,\"IsSuccess\":true,\"Message\":null,\"SuccessCode\":0}

{\"Data\":{\"BranchCodes\":[\"30\",\"97\"],\"ProcessId\":87},\"ErrorCode\":0,\"IsSuccess\":true,\"Message\":null,\"SuccessCode\":0}

我想转换成这个对象

Class WorkGroupMetric
    Public Property Data() As Data
        Get
            Return m_Data
        End Get
        Set(ByVal value As Data)
            m_Data = Value
        End Set
    End Property
    Private m_Data As Data

    Public Property ErrorCode() As Integer
        Get
            Return m_ErrorCode
        End Get
        Set(ByVal value As Integer)
            m_ErrorCode = Value
        End Set
    End Property
    Private m_ErrorCode As Integer

    Public Property IsSuccess() As Boolean
        Get
            Return m_IsSuccess
        End Get
        Set(ByVal value As Boolean)
            m_IsSuccess = Value
        End Set
    End Property
    Private m_IsSuccess As Boolean

    Public Property Message() As String
        Get
            Return m_Message
        End Get
        Set(ByVal value As String)
            m_Message = Value
        End Set
    End Property
    Private m_Message As String

    Public Property SuccessCode() As Integer
        Get
            Return m_SuccessCode
        End Get
        Set(ByVal value As Integer)
            m_SuccessCode = Value
        End Set
    End Property
    Private m_SuccessCode As Integer

End Class

Public Class Data
    Public Property BranchCodes() As List(Of String)
        Get
            Return m_BranchCodes
        End Get
        Set(ByVal value As List(Of String))
            m_BranchCodes = value
        End Set
    End Property
    Private m_BranchCodes As List(Of String)
    Public Property ProcessId() As Integer
        Get
            Return m_ProcessId
        End Get
        Set(ByVal value As Integer)
            m_ProcessId = Value
        End Set
    End Property
    Private m_ProcessId As Integer
End Class

我需要帮助,我在 Visual Studio 2005 中使用 scriptask for ssis 执行此操作。 我不能使用 JavaScriptSerializer 或类似的,这必须手动。

【问题讨论】:

  • 手动解码 JSON 意味着编写自己的 JSON 解析器。为什么不能使用 json 库来为您执行此操作,除了在 json 字符串中转义的所有引号(这会将字符串转换为非 json)。

标签: serialization deserialization manual json-deserialization


【解决方案1】:

您真的想避免手动执行此操作,我会调查 json.net,它不是 .net 框架的一部分,应该与 vs2005 一起使用。 http://james.newtonking.com/json

【讨论】:

  • 问题在于 ssis 你不能添加 DLL,否则我需要在每个脚本任务中添加这个项目的所有类。
  • SSIS 允许自定义任务,你可以使用任何你想要的 .dll 文件
猜你喜欢
  • 2019-11-22
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
  • 2012-04-22
  • 1970-01-01
  • 2010-10-04
  • 1970-01-01
  • 2011-12-15
相关资源
最近更新 更多