-1
votes

Comment importer des données d'API de repos dans SQL Server?

J'ai une API de repos qui retourne une réponse formatée dans JSON, quelque chose comme ceci:

+--------+-------------------+-------------------------+
| UserId |   jobTitleName    |      emailAddress       |
+--------+-------------------+-------------------------+
| romin  | Developer         | romin.k.irani@gmail.com |
| nirani | Developer         | neilrirani@gmail.com    |
| tomhan | Program Directory | tomhanks@gmail.com      |
+--------+-------------------+-------------------------+


5 commentaires

Avez-vous essayé google pour cela? Il existe de nombreux outils différents disponibles pour convertir Json en SQL.


Fonction intégrée de quoi? C # ou SQL Server?


@Rahul les deux, mais c # plus probable


Pour les données JSON dans SQL Server: docs.microsoft.com/en-us/sql/relational-databases/json/...


Veuillez vérifier ce lien. Il peut être utile pour vous paurique.blog / How-to-Import-Json-to-SQL-Server


3 Réponses :


1
votes

Créez d'abord C # Classe en fonction de votre JSON

using System;
using System.Collections.Generic;

using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

public partial class Welcome
{
    [JsonProperty("Employees")]
    public Employee[] Employees { get; set; }
}

public partial class Employee
{
    [JsonProperty("userId")]
    public string UserId { get; set; }

    [JsonProperty("jobTitleName")]
    public string JobTitleName { get; set; }

    [JsonProperty("emailAddress")]
    public string EmailAddress { get; set; }
}



 var JSONObj= JsonConvert.DeserializeObject<Welcome>(json); //convert you json in to class object

   var EmpArray=JSONObj["Employees"]; // will give you employee array


0 commentaires

1
votes

Vous pouvez utiliser le Openjson Fonction de valorisation de table pour analyser les données JSON dans des lignes et des colonnes.

DECLARE @json VARCHAR(max) ='
{
    "Employees" : [
        {
            "userId":"romin",
            "jobTitleName":"Developer",
            "emailAddress":"romin.k.irani@gmail.com"
        },
        {
            "userId":"nirani",
            "jobTitleName":"Developer",
            "emailAddress":"neilrirani@gmail.com"
        },
        {
            "userId":"tomhan",
            "jobTitleName":"Program Directory",
            "emailAddress":"tomhanks@gmail.com"
        }
    ]
}
'

SELECT userId,
    jobTitleName,
    emailAddress
FROM OPENJSON(@Json, '$.Employees')
WITH (
    userId VARCHAR(100),
    jobTitleName VARCHAR(100),
    emailAddress VARCHAR(100)
);


0 commentaires

0
votes

est la réponse formatée dans JSON auto-descriptive? Vous voulez probablement écrire votre propre cache client si vous vous amusez beaucoup avec HyperMedia.


1 commentaires

Comment cela répond-il à la question?