0
에 저장하지, 그것을 조금 어렵게 찾았지만 게시물의 공정한 금액 읽는이를 소집 관리 : 다음 http://json2csharp.com/을 사용.NET API를 요청 며칠 동안 API를 학습에 노력하고 데이터베이스
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ID,domain,contact,contactname,price,type,TF,CF,RI,MJTopicsID,UserTableID")] Identifier identifier)
{
if (ModelState.IsValid)
{
db.Identifiers.Add(identifier);
db.SaveChanges();
return RedirectToAction("Index");
}
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(
"https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=http://www.majestic.com&datasource=fresh");
{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
string json2 = reader.ReadToEnd();
MajesticData r = JsonConvert.DeserializeObject<MajesticData>(json2);
}
ViewBag.MJTopicsID = new SelectList(db.MJTopicss, "ID", "ID", identifier.MJTopicsID);
ViewBag.UserTableID = new SelectList(db.UserTables, "ID", "userIdentity", identifier.UserTableID);
return View(identifier);
}
}
을 내 모델을 만들고 RootObject를 MajesticData로 변경했습니다. 필자는이 테이블을 초기화 한 후 컨트롤러의 액션을 [httpPost] 안에서 실행했지만, 생성 액션은 잘 발생하고 식별자 테이블로 데이터를 커밋하고 뷰를 반환하지만 MajesticData 모델이나 다른 사람? 저장과
업데이트 : 당신은 당신의 MajesticData을 폐기하고
public ActionResult ApiCall()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=http://www.majestic.com&datasource=fresh");
{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
string json2 = reader.ReadToEnd();
Datum newdata = JsonConvert.DeserializeObject<Datum>(json2);
db.Datums.Add(newdata);
db.SaveChanges();
}
}
}
Nicoholson 감사! 오, 알았어, 나는이 스레드를 따라 갔다. https://stackoverflow.com/questions/34043384/easiest-way-to-parse-json-response. 그래서 객체의 모든 변수를 받아들이도록 모델을 만들었습니다. 어떻게하면 그 변수를 저장할 수 있습니까? 그래서 끝났습니다. http://json2csharp.com/에서 4 가지 클래스로 모델을 제공 한 이후로 가정했습니다. 미안 현실에서 간단하다면 그것을 알아낼 수 없습니다! – liamcook
로컬 변수에 "저장"하는 것만으로는 충분하지 않습니다. 관련 속성을 ViewBag에 복사하여 클라이언트 용 페이지를 렌더링 할 때 사용할 수있게하거나 나중에 액세스해야 할 경우 데이터베이스 테이블에 쓸 수 있습니다. BTW WebClient.DownloadString() API를 호출 할 경우 코드를 짧게 만들 수 있습니다. –
내가 이해하는 바로는 MajesticData 모델과 동일한 변수를 가진 객체를 생성하지 않는다는 것인데, 이것을 바로 데이터베이스에 저장하는 방법이 없을까요? 데이터가있는 위치를 정확하게 파악하지 못했습니다.이 점이 내 문제입니다. 아 감사합니다! 그래, 나는 그것이 유효하지 않은 상태에 있다는 것을 깨닫지 못해 코드를 찾아 내려고 너무 많은 시간을 보냈다. 그래서 그것은 하하 (haha)라고 불려지지 않았다 ... – liamcook