edp.kharind Ответов: 2

Как создать json-файл


Я написал программу для генерации Json-файла для загрузки данных в "Eway Bill".

Мой формат Json :- (теперь он работает, когда я загружаю в EwayBill)

[{"Supply Type":"Outward","Sub Type":"Export","Doc Type":"Tax Invoice","Doc No":"PK/18/0015","Doc Date":"16/02/2018 00:00:00","From_OtherPartyName":"KH Exports  India Private Limited Glove Division","From_GSTIN":"33AAACR1714R1ZA","From_Address1":"142/1,Trunk Road","From_Address2":"Perumugai","From_Place":"Vellore","From_Pin Code":"632009","From_State":"Tamil Nadu","To_OtherPartyName":"K H EXPORTS INDIA PRIVATE LIMITED","To_GSTIN":"33AAACR1714R1ZA","To_Address1":"GLOVE DIVISION, GODOWN","To_Address2":"NEW NO. 24, KUMARAPPA STREET,","To_Place":"Chennai","To_Pin Code":"600003","To_State":"Tamil Nadu","Product":"FINISHED LEATHER GLOVES FOR LADIES","Description":"","HSN":"42032920","Unit":"PAIRS","Qty":"25","Assessable Value":"678","Tax Rate (S+C+I+Cess)":"9+9+0+0","CGST Amount":"6102","SGST Amount":"6102","IGST Amount":"0","CESS Amount":"0","Trans Mode":"Road","Distance (Km)":"115","Trans Name":"","Trans ID":"","Trans DocNo":"","Trans Date":"","Vehicle No":"TN23CB8274","Errors List":""}]




Приведенный ниже json работает нормально (я получаю этот json с сайта eway bill)

{
"version":"1.0.0123",
        "billLists":[{
               "userGstin":"29BQSPA3829E124",
               "supplyType":"O",
               "subSupplyType":1,
               "docType":"INV",
               "docNo":"1234",
               "docDate":"04/03/2017",
               "fromGstin":"29BQSPA3829E124",
               "fromTrdName":"HUKKERI PVT LTD",
               "fromAddr1":"OLD AIRPORT ROAD",
               "fromAddr2":"OLD AIRPORT ROAD",
               "fromPlace":"BANGALORE",
               "fromPincode":560090,
               "fromStateCode":29,
               "toGstin":"29AAACG0569P1Z3",
               "toTrdName":"AMBUJA PVT LTD",
               "toAddr1":"MG ROAD",
               "toAddr2":"MG ROAD",
               "toPlace":"BANGALORE",
               "toPincode":560090,
               "toStateCode":29,
               "totalValue":678,
               "cgstValue":6102,
               "sgstValue":6102,
               "igstValue":0,
               "cessValue":0,
               "transMode":1,
               "transDistance":567,
               "transporterName":"",
               "transporterId":"",
               "transDocNo":"",
               "transDocDate":"",
               "vehicleNo":"KA12KA1234",
                         "itemList":[{
                                "itemNo":1,
                                "productName":"STEEL",
                                "productDesc":"STEEL",
                                "hsnCode":26180000,
                                "quantity":0,
                                "qtyUnit":"KGS",
                                "taxableAmount":678,
                                "sgstRate":9,
                                "cgstRate":9,
                                "igstRate":0,
                                "cessRate":0
                              }

                              ]
               }

          ]
}


Что я уже пробовал:

Я попробовал ниже код для json,но он не работает.
public bool WriteJason(DataTable dt, string path)
        {
            try
            {

                System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
                List<Dictionary<string, string>> rows = new List<Dictionary<string, string>>();
                Dictionary<string, string> row = null;

                foreach (DataRow dr in dt.Rows)
                {
                    row = new Dictionary<string, string>();
                    foreach (DataColumn col in dt.Columns)
                    {
                        row.Add(col.ColumnName.Trim().ToString(), Convert.ToString(dr[col]));
                    }
                    rows.Add(row);
                }
                string jsonstring = serializer.Serialize(rows);

                using (var file = new StreamWriter(path, false))
                {
                    file.Write(jsonstring);
                    file.Close();
                    file.Dispose();
                }
                return true;
            }
            catch { return false; }
        }

2 Ответов

Рейтинг:
1

kamlesh suhagiya

Dim lobjEwayBiil As New ClsEwayBiil
lobjEwayBiil.billLists.Add(New ClsbillLists)
lobjEwayBiil.billLists(0).genMode = "Excel"
lobjEwayBiil.billLists(0).userGstin = "29AAAAT3520B1ZY"
lobjEwayBiil.billLists(0).itemList.Add(New ClsitemList)
lobjEwayBiil.billLists(0).itemList.Add(New ClsitemList)
lobjEwayBiil.billLists(0).itemList(0).itemNo = "112"
lobjEwayBiil.billLists(0).itemList(0).productName = "mouse"
lobjEwayBiil.billLists(0).itemList(1).itemNo = "113"
lobjEwayBiil.billLists(0).itemList(1).productName = "usb"

Dim ouput As String = JsonConvert.SerializeObject(lobjEwayBiil, Formatting.Indented)

Dim file As StreamWriter
file = New StreamWriter("D:\J1.JSON", False)
File.Write(ouput)
File.Close()
File.Dispose()


Public Class ClsEwayBiil
    Public version As String = "1.0.0123"
    Public billLists As New List(Of ClsbillLists)
End Class

Public Class ClsbillLists
    Public genMode As String = "Excel"
    Public userGstin As String
    Public supplyType As String
    Public subSupplyType As String
    Public docType As String
    Public itemList As New List(Of ClsitemList)
End Class

Public Class ClsitemList
    Public itemNo As String = ""
    Public productName As String
End Class


Рейтинг:
0

OriginalGriff

Я делаю это с помощью Newton.JSON: вы можете добавить его в свой проект через менеджер пакетов NuGet (Tools ... Менеджер Пакетов NuGet ... Консоль Диспетчера Пакетов)

PM> Install-Package Newtonsoft.Json
Тогда все просто: сериализуйте или десериализуйте в одной строке кода!
string json = JsonConvert.SerializeObject(myCollectionOfObjects);
List<MyClass> items = JsonConvert.DeserializeObject<List<MyClass>>(File.ReadAllText(path));


edp.kharind

Спасибо за поддержку,я попробовал "Ньютонсофт", но опять же теперь он работает.Пожалуйста, помогите, как сделать json-файл, который "eway bill website" предоставляет, как указано выше....

[no name]

Он уже дал тебе ответ. Я предлагаю вам провести некоторое исследование того, что вам дают, прежде чем просить других ответов.

edp.kharind

Пожалуйста помочь..........

Мне нужно закончить это задание...........