當然我不推崇這種方法 因為這會有很多問題 一方面效能 一方面資安 等等各種問題
那至於該怎做呢 方便我們前端呼叫做存取 這邊用webapi 當作範例
這邊依照飲料做為範例 先定義我們的Model格式吧
public class Type { public string Size { get; set; } public int Price { get; set; } } public class Drink { public int Drinkid { get; set; } public string DrinkName { get; set; } public Listtype { get; set; } public string Remarks { get; set; } } public class Blend { public string blendName { get; set; } public int Price { get; set; } } public class StoreModel { public int id { get; set; } public string StoreName { get; set; } public string Url { get; set; } public List Drink { get; set; } public List blend { get; set; } public string StoreRemarks { get; set; } }
再來就是簡單的CRUD 這邊自行看看吧 這邊都是邏輯都很簡單都是一照我們ID去找我們的資料再來重新復寫我們的資料
public class StoreController : ApiController { [AllowAnonymous] [HttpPost] public ListGetStore() { var mappedPath = System.Web.Hosting.HostingEnvironment.MapPath("~/Store/Store.json"); return JsonConvert.DeserializeObject >(File.ReadAllText(mappedPath)); } [AllowAnonymous] [HttpPost] public StoreModel GetStorebyID(int id) { var mappedPath = System.Web.Hosting.HostingEnvironment.MapPath("~/Store/Store.json"); using (StreamReader r = new StreamReader(mappedPath)) { string json = r.ReadToEnd(); return JsonConvert.DeserializeObject
>(json).Find(x => x.id == id); } } [AllowAnonymous] [HttpPost] public bool DeleteById(int id) { try { var mappedPath = System.Web.Hosting.HostingEnvironment.MapPath("~/Store/Store.json"); var json = JsonConvert.DeserializeObject
>(File.ReadAllText(mappedPath)).Find(x => x.id != id); var list = new List
(); list.Add(json); File.WriteAllText(mappedPath, JsonConvert.SerializeObject(list)); return true; } catch (Exception e) { return false; } } [AllowAnonymous] [HttpPost] public bool Add(StoreModel StoreModel) { try { var mappedPath = System.Web.Hosting.HostingEnvironment.MapPath("~/Store/Store.json"); var json = JsonConvert.DeserializeObject >(File.ReadAllText(mappedPath)); json.Add(StoreModel); File.WriteAllText(mappedPath, JsonConvert.SerializeObject(json)); return true; } catch (Exception e) { return false; } } }
這邊就簡單做個紀錄