2017-12-05 32 views
2

실제로 VBScript에서 동적 키가있는 JSON에서 값을 가져 오려고합니다. 나는 어떤 물체가 이미 물었지만 VBScript를 찾지는 않는 비슷한 질문을 찾으려고 노력한다. field33005하지만 다른 클라이언트에 대해이 필드의 이름을 이 될 수 있습니다 하나의 클라이언트 노드 이름으로, (클라이언트 특정) 위의 JSON에 따라서VBScript에서 동적 키가있는 JSON 객체의 값을 구문 분석합니다.

{ 
    "assessmenttype": [{ 
     "id": "129666", 
     "formattedvalue": "wT", 
     "value": "WT" 
    }], 
    "jobid": "2017-2752", 
    "jobtitle": "XYZ", 
    "links": [{ 
     "rel": "self", 
     "title": "The current profile being viewed.", 
     "url": "https://dummyUrl.com/customers" 
    }], 
    "field33005": { 
     "id": "C121", 
     "formattedvalue": "XYZ", 
     "value": "XYZ" 
    } 
} 

: 그래서 아래

은 샘플 JSON입니다 field38045 등등 .. 그래서 field33005 맞춤 필드에 'value'하위 필드의 값을 가져 오는 것이 좋습니다.

저는 JSON 전문 VBScript에서 전문가가 아니므로 도와주세요.

참고 : 우리가 ASP에 VBSript에서 JS 함수를 호출 할 수있는 내 자신의 질문에 대답하기 위해

+0

VBScript에는 JSON 파서가 포함되어 있지 않습니다. [VbsJson] (http://demon.tw/my-work/vbs-json.html) 클래스가 있지만 실제로 JScript 나 PowerShell과 같은 JSON 파서와 함께 제공되는 언어를 사용하는 것이 좋습니다. –

+0

json 파싱의 경우 json2-min.js 라이브러리를 사용하고 있습니다. –

+0

@AnsgarWiechers 어떤 도움이 필요합니까? –

답변

2

json2-min.js 라이브러리을 사용하고 JSON 구문 분석에 대한 나는 자바 스크립트에서 하나 개의 기능을합니다. 우리는 실제 JSON 커스텀 필드의 이름을 전달하기 위해 필요한 상기 방법에서

<script runat="server" language="javascript"> function getJSONObject(targetJSONObject, propName) { for (var prop in targetJSONObject) { if (prop = propName) { return targetJSONObject[prop].value; } } return ""; } </script> 

후 그 정의 필드의 "값"하위 노드를 반환한다.

+1

아마도 귀하의 질문에 대한 오해가 있었지만 대답하지 않았습니다. 문제는 속성 이름이 무엇인지 알지 못했지만 관계없이 값을 가져야한다는 것입니다. 이 함수는 속성 이름을 알고 있어야합니다. 또한,'if' 문에서 동등성에 대한 테스트는'=='이어야합니다. – Craig

+0

실제로 모든 고객에 대해 속성 이름이 다를 수 있지만 특정 고객에 대한 속성 이름이 무엇인지 미리 알아야하며 DB 또는 일부 고객 별 파일에서이 속성 이름을 유지 관리 할 수 ​​있습니다. 그래서 나는 그 고객 특정 속성의 가치를 얻을 수있는 일반적인 코드를 작성해야했습니다. –