Bauen JSON-Antwort in der Web-API-controller

In ein WebAPI-Projekt, ich habe einen controller, der überprüft den status eines Produktes, basierend auf einem Wert, den der Benutzer eingibt.

Können sagen, Sie geben Sie "123" und die Antwort sollte sein, "status": 1, UND eine Liste von Produkten. Wenn Sie geben Sie "321" "status" ist 0, UND eine Liste von Produkten.

Meine Frage ist, wie Baue ich so ein string korrekt in einem WebAPI controller.

[Route("{value:int}")]
public string GetProducts(int value)
{
    var json = "";
    var products = db.Products;
    if (products.Any())
    {
        foreach (var s in products)
        {
            ProductApi product = new ProductApi();
            product.Name = s.Name;
            json += JsonConvert.SerializeObject(supplier);
        }
    }

    var status = db.Status;
    if (status.Any())
    {
        json += "{status:1}";
    }
    else
    {
        json += "{status:0}";
    }

    return json;
}

public class ProductApi
{
    public string Name { get; set; }
}

Außerdem ist diese Ausgabe/Antwort als gültig angesehen?

[
    {
        "id":1,
        "name":"product name"
    },
    {
        "id":2,
        "name":"product name 2"
    },
    {
        "id":3,
        "name":"product name 3"
    }
]

{
    "status": 0
}

InformationsquelleAutor der Frage brother | 2016-03-11

Schreibe einen Kommentar