login register Sysop! about ME  

2018년 08월 14일 16시 13분 00초,     조회수 : 824
  제목 : RE : asp json2.asp 관련 질문입니다.(조금더 자세히 적었습니다.)
SEQ : 164077 글쓴이 : kjhun78

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

json2.asp를 사용할 때

strResponseText =

"  {"result":1,"infos":[
	   {"id":"123","Type":"1"},
	   {"id":"122","stnm":{"idx":675,"name":"kim"}}
	   ]}
"

이런 식의 데이터가 있다면


aspJSON1.17.asp 를 사용할때는 isobject 와 null 로 아래와 같이 체크가 가능해서 사용했는데 


Set oJSON = New aspJSON

oJSON.loadJSON(strResponseText)


Set info = oJSON.data("infos")


for each itm in info

	   Set this = info.item(itm)

	   IF this.item("Type") = "" Then 
	   	   AA = "3"
	   Else 
	   	   AA = this.item("Type")
	   End If 

	   if IsObject(this.item("stnm")) = True Then '있을경우에 실행
	   	   '실행
	   end if 


next


Set oJSON = Nothing

속도 측면에서 데이터가 많아지면 처리가 너무 늦어서 사용할수가 없을정도더라고요

그래서 

json2.asp 로 바꿔서 아래와 같이 사용해봤는데


dim Info : set Info = JSON.parse(join(array(strResponseText)))

Set sList = infos.sList

For intloop = 0 To infos.sList.length-1
	   
	   Set this = sList.Get(intloop)

	   Response.Write this.[id] & "<br/>"  ' 이경우엔 둘다 id가 있으니 에러없이 잘 표시됩니다.

	   Response.Write this.[Type] & "<br/>"  
	   ' 이경우엔 첫번째는 있어서 에러가 안나는데 2번째엔 type이 없어서 
	    Microsoft VBScript 런타임 오류 오류 '800a01b6'
	   개체가 이 속성 또는 메서드를 지원하지 않습니다.: 'Type'

	   이렇게 에러가 납니다.

	   Response.Write this.[stnm] & "<br/>"  '값이 있다면 [object,object] 이런식으로 표현이 되겠죠.

	   ' 이 경우에도 첫번째에 stnm이 없기 때문에 
	    Microsoft VBScript 런타임 오류 오류 '800a01b6'
	   개체가 이 속성 또는 메서드를 지원하지 않습니다.: 'stnm'

	   이렇게 에러가 납니다.

	    IsEmpty, IsNull, Len, isobject 다 체크를 해봐도 위와 같이 에러가 납니다. 
	    
next



어떤식으로 체크를 해야되는지 혹시 알고계시면 답변좀  부탁드리겠습니다.

감사합니다.


  ztardia
  2018-08-17(09:19)
캐릭 이미지
제가 웹놓은지 좀 되서 가물한데
이름으로 체크하는게 아니라...음....아..
0 1 2 이런식으로 체크하는게 있거든요
this.[0] ? 이런식으로요



제목 작성자 날짜 조회
asp json2.asp 관련 질문입니다. (4) kjhun78 2018-08-12 755
RE : asp json2.asp 관련 질문입니다.(조금더 자세히 적었습니다.) (1) kjhun78 2018-08-14 824

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})