b4ed21f0040aefa1cb6dcf8ee6f0216d29ae56cb
[sdnc/oam.git] / dgbuilder / tools / jsonTool.js
1 var obj={};
2 function dotToJson(str,value,obj){
3     //var objArr = path.split("."), part;
4     var objArr = str.split(".");
5         var prevStr;
6         var currObj;
7         var prevObj;
8         //console.log(str);
9         var isArray = false;
10         var prevObjIsArray = false;
11         for(var i=0;i<objArr.length -1;i++){
12                 var subStr= objArr[i] ;
13                 if(isArray){
14                         prevObjIsArray = true;  
15                 }
16                 isArray = false;
17                 if(subStr.indexOf(']') == subStr.length -1){
18                         subStr = subStr.substring(0,subStr.length -2);
19                         isArray = true;
20                 }
21                 //console.log("subStr:" + subStr + isArray);
22                 //console.dir(prevObj);
23                 if(isArray){
24                         if(i==0 && obj[subStr] == undefined ){
25                                 //console.log("i==0 && obj[subStr] ");
26                                 obj[subStr]=[];
27                         }else if(i==0 && obj[subStr][0] == undefined ){
28                                                 obj[subStr][0]={};
29                         }else if(i==0 && obj[subStr][0] != undefined ){
30                                 currObj= obj[subStr][0];
31                         }else{
32                                 if(i == 1){
33                                         //console.log("i==1 && obj[prevStr] ");
34                                         prevObj=obj[prevStr];
35                                         if(prevObj[subStr][0] == undefined){
36                                                 prevObj[subStr] = [];
37                                                 prevObj[subStr][0] = {};
38                                                 currObj = prevObj[subStr][0];
39                                         }else{
40                                                 currObj = prevObj[subStr][0];
41                                         }
42                                 }else{
43                                         if(prevObj[subStr] == undefined){
44                                                 prevObj[subStr]=[];
45                                                 prevObj[subStr][0]={};
46                                                 currObj = prevObj[subStr][0];
47                                         }else{
48                                                 currObj = prevObj[subStr][0];
49                                         }
50                                 }
51                         }
52                 }else{
53                         if(i==0 && obj[subStr] == undefined ){
54                                 obj[subStr] = {};
55                                 currObj= obj[subStr];
56                         }else if(i==0 && obj[subStr] != undefined ){
57                                 currObj=obj[subStr];
58                         //console.log("in gkjgjkg");
59                         }else{
60                                 if(i == 1){
61                                         prevObj=obj[prevStr];
62                                         if(prevObj[subStr] == undefined){
63                                                 prevObj[subStr] = {};
64                                                 currObj = prevObj[subStr];
65                                         }else{
66                                                 currObj = prevObj[subStr];
67                                         }
68                                 }else{
69                                         if(prevObj[subStr] == undefined){
70                                                 prevObj[subStr] = {};
71                                                 currObj = prevObj[subStr];
72                                         }else{
73                                                 currObj = prevObj[subStr];
74                                         }
75                                 }
76                         }
77                 }
78                 prevStr=subStr;
79                 if(i <objArr.length-2){
80                         //console.dir(currObj);
81                         prevObj=currObj;        
82                 }
83         }
84         var lastStr = objArr[objArr.length-1];
85         if(isArray){
86                 currObj[lastStr] = value;
87         }else{
88                 currObj[lastStr] = value;
89         }
90         //prevObj[lastStr] = value;
91         //console.dir(currObj);
92         return obj;
93 }
94 function printObj(obj){
95 for( j in obj){
96         console.log(j + ":" + obj[j]);
97         if(typeof obj[j] == "object" ){
98                 printObj(obj[j]);
99         }
100
101 }
102 }
103
104 a=[
105 'service-configuration-operation-input.service-information.service-instance-id',
106 'service-configuration-operation-input.service-information.subscriber-name',
107 'service-configuration-operation-input.service-information.service-type',
108 'service-configuration-operation-input.svc-config-additional-data.management-ip',
109 'service-configuration-operation-input.sdnc-request-header.svc-request-id',
110 'service-configuration-operation-input.sdnc-request-header.svc-notification-url',
111 'service-configuration-operation-input.sdnc-request-header.svc-action',
112 'service-configuration-operation-input.vr-lan.routing-protocol',
113 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-vr-lan-prefix',
114 'service-configuration-operation-input.vr-lan.vr-lan-interface[].vr-designation',
115 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-vr-lan-prefix-length',
116 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-vr-lan-prefix',
117 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-vr-lan-prefix-length',
118 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-defaulted-v6-vrlan',
119 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-vce-loopback-address',
120 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-vce-wan-address',
121 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-dhcp-server-enabled',
122 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-dhcp-server-enabled',
123 'service-configuration-operation-input.vr-lan.vr-lan-interface[].use-v4-default-pool',
124 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-dhcp-default-pool-prefix',
125 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-dhcp-default-pool-prefix-length',
126 'service-configuration-operation-input.vr-lan.vr-lan-interface[].excluded-v4-dhcp-addresses-from-default-pool[].excluded-v4-address',
127 'service-configuration-operation-input.vr-lan.vr-lan-interface[].excluded-v4-dhcp-addresses-from-default-pool[].key',
128 'service-configuration-operation-input.vr-lan.vr-lan-interface[].use-v6-default-pool',
129 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-dhcp-default-pool-prefix',
130 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-dhcp-default-pool-prefix-length',
131 'service-configuration-operation-input.vr-lan.vr-lan-interface[].excluded-v6-dhcp-addresses-from-default-pool[].excluded-v6-address',
132 'service-configuration-operation-input.vr-lan.vr-lan-interface[].excluded-v6-dhcp-addresses-from-default-pool[].key',
133 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-dhcp-pools[].v6-dhcp-pool-prefix',
134 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-dhcp-pools[].v6-dhcp-pool-prefix-length',
135 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-dhcp-pools[].v6-dhcp-relay-gateway-address',
136 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-dhcp-pools[].v6-dhcp-relay-next-hop-address',
137 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-dhcp-pools[].excluded-v6-addresses[].excluded-v6-address',
138 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-dhcp-pools[].excluded-v6-addresses[].key',
139 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-dhcp-pools[].key',
140 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-dhcp-pools[].v4-dhcp-relay-next-hop-address',
141 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-dhcp-pools[].v4-dhcp-pool-prefix',
142 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-dhcp-pools[].v4-dhcp-pool-prefix-length',
143 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-dhcp-pools[].v4-dhcp-relay-gateway-address',
144 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-dhcp-pools[].excluded-v4-addresses[].excluded-v4-address',
145 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-dhcp-pools[].excluded-v4-addresses[].key',
146 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-dhcp-pools[].key',
147 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-nat-enabled',
148 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-nat-mapping-entries[].v4-nat-internal',
149 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-nat-mapping-entries[].v4-nat-next-hop-address',
150 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-nat-mapping-entries[].v4-nat-external',
151 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-nat-mapping-entries[].key',
152 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-provided-v6-lan-public-prefixes[].request-index',
153 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-provided-v6-lan-public-prefixes[].v6-next-hop-address',
154 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-provided-v6-lan-public-prefixes[].v6-lan-public-prefix',
155 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-provided-v6-lan-public-prefixes[].v6-lan-public-prefix-length',
156 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-provided-v6-lan-public-prefixes[].key',
157 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-provided-v4-lan-public-prefixes[].request-index',
158 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-provided-v4-lan-public-prefixes[].v4-lan-public-prefix',
159 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-provided-v4-lan-public-prefixes[].v4-next-hop-address',
160 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-provided-v4-lan-public-prefixes[].v4-lan-public-prefix-length',
161 'service-configuration-operation-input.vr-lan.vr-lan-interface[].t-provided-v4-lan-public-prefixes[].key',
162 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-static-routes[].v6-static-route-prefix-length',
163 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-static-routes[].v6-next-hop-address',
164 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-static-routes[].v6-static-route-prefix',
165 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-static-routes[].key',
166 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-static-routes[].v4-static-route-prefix-length',
167 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-static-routes[].v4-next-hop-address',
168 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-static-routes[].v4-static-route-prefix',
169 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-static-routes[].key',
170 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-pat-enabled',
171 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-pat-default-pool-prefix-length',
172 'service-configuration-operation-input.vr-lan.vr-lan-interface[].use-v4-default-pool',
173 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-pat-default-pool-prefix',
174 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-pat-pools[].v4-pat-pool-prefix',
175 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-pat-pools[].v4-pat-pool-next-hop-address',
176 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-pat-pools[].v4-pat-pool-prefix-length',
177 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-pat-pools[].key',
178 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-firewall-packet-filters[].v6-firewall-prefix',
179 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-firewall-packet-filters[].v6-firewall-prefix-length',
180 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-firewall-packet-filters[].allow-icmp-ping',
181 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-firewall-packet-filters[].udp-port-list[].port-number',
182 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-firewall-packet-filters[].udp-port-list[].key',
183 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-firewall-packet-filters[].tcp-port-list[].port-number',
184 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-firewall-packet-filters[].tcp-port-list[].key',
185 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v6-firewall-packet-filters[].key',
186 'service-configuration-operation-input.vr-lan.vr-lan-interface[].stateful-firewall-lite-v4-enabled',
187 'service-configuration-operation-input.vr-lan.vr-lan-interface[].stateful-firewall-lite-v6-enabled',
188 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-firewall-packet-filters[].allow-icmp-ping',
189 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-firewall-packet-filters[].udp-port-list[].port-number',
190 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-firewall-packet-filters[].udp-port-list[].key',
191 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-firewall-packet-filters[].tcp-port-list[].port-number',
192 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-firewall-packet-filters[].tcp-port-list[].key',
193 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-firewall-packet-filters[].v4-firewall-prefix',
194 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-firewall-packet-filters[].v4-firewall-prefix-length',
195 'service-configuration-operation-input.vr-lan.vr-lan-interface[].v4-firewall-packet-filters[].key',
196 'service-configuration-operation-input.vr-lan.vr-lan-interface[].key',
197 'service-configuration-operation-input.internet-evc-access-information.internet-evc-speed-value',
198 'service-configuration-operation-input.internet-evc-access-information.ip-version',
199 'service-configuration-operation-input.internet-evc-access-information.internet-evc-speed-units',
200 'service-configuration-operation-input.l2-homing-information.preferred-aic-clli',
201 'service-configuration-operation-input.l2-homing-information.evc-name',
202 'service-configuration-operation-input.l2-homing-information.topology',
203 'service-configuration-operation-input.internet-service-change-details.internet-evc-speed-value',
204 'service-configuration-operation-input.internet-service-change-details.internet-evc-speed-units',
205 'service-configuration-operation-input.internet-service-change-details.t-provided-v4-lan-public-prefixes[].request-index',
206 'service-configuration-operation-input.internet-service-change-details.t-provided-v4-lan-public-prefixes[].v4-lan-public-prefix',
207 'service-configuration-operation-input.internet-service-change-details.t-provided-v4-lan-public-prefixes[].v4-lan-public-prefix-length',
208 'service-configuration-operation-input.internet-service-change-details.t-provided-v4-lan-public-prefixes[].key',
209 'service-configuration-operation-input.internet-service-change-details.t-provided-v6-lan-public-prefixes[].request-index',
210 'service-configuration-operation-input.internet-service-change-details.t-provided-v6-lan-public-prefixes[].v6-lan-public-prefix',
211 'service-configuration-operation-input.internet-service-change-details.t-provided-v6-lan-public-prefixes[].v6-lan-public-prefix-length',
212 'service-configuration-operation-input.internet-service-change-details.t-provided-v6-lan-public-prefixes[].key'
213 ];
214
215 a=[
216     "service-configuration-operation-input.sdnc-request-header.svc-notification-url",
217     "service-configuration-operation-input.sdnc-request-header.svc-request-id",
218     "service-configuration-operation-input.sdnc-request-header.svc-action",
219     "service-configuration-operation-input.vpe-vpn-service.route-target",
220     "service-configuration-operation-input.vpe-vpn-service.e2e-vpn-key",
221     "service-configuration-operation-input.vpe-vpn-service.vpn-id",
222     "service-configuration-operation-input.vpe-vpn-service.vpn-vame",
223     "service-configuration-operation-input.vpe-vpn-service.spoke-routes.route-target",
224     "service-configuration-operation-input.vpe-vpn-service.spoke-routes.max-threshold",
225     "service-configuration-operation-input.vpe-vpn-service.spoke-routes.max-routes-limit",
226     "service-configuration-operation-input.vpe-vpn-service.v4-max-routes.max-routes-limit-warning",
227     "service-configuration-operation-input.vpe-vpn-service.v4-max-routes.max-routes-limit",
228     "service-configuration-operation-input.vpe-vpn-service.v6-max-routes.max-routes-limit-warning",
229     "service-configuration-operation-input.vpe-vpn-service.v6-max-routes.max-routes-limit",
230     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.vpn-multicast-planned-region[].regions",
231     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.vpn-multicast-planned-region[].key",
232     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.vpn-v4-multicast-enabled",
233     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.max-routes-limit-warning",
234     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.max-routes-limit",
235     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-data-mdt",
236     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-static-rp-triplet[].rp-address",
237     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-static-rp-triplet[].c-groups[].group-address-prefix-length",
238     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-static-rp-triplet[].c-groups[].c-group-address-prefix",
239     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-static-rp-triplet[].c-groups[].key",
240     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-static-rp-triplet[].key",
241     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-pim-sm-static-override",
242     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-pim-ssm-default-range",
243     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-pim-ssm-groups[].v4-pim-ssm-group-address",
244     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-pim-ssm-groups[].v4-pim-ssm-group-address-prefix-length",
245     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-pim-ssm-groups[].key",
246     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-default-mdt",
247     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-data-mdt-wildcard-mask",
248     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.vpn-v6-multicast-enabled",
249     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.max-routes-limit-warning",
250     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.max-routes-limit",
251     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-static-rp-triplet[].rp-address",
252     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-static-rp-triplet[].c-groups[].group-address-prefix-length",
253     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-static-rp-triplet[].c-groups[].c-group-address-prefix",
254     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-static-rp-triplet[].c-groups[].key",
255     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-static-rp-triplet[].key",
256     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-pim-sm-static-override",
257     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-pim-ssm-default-range",
258     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-pim-ssm-groups[].v6-pim-ssm-group-address",
259     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-pim-ssm-groups[].v6-pim-ssm-group-address-prefix-length",
260     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-pim-ssm-groups[].key",
261     "service-configuration-operation-input.vpe-vpn-service.customer-id",
262     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].router-distinguisher",
263     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vpe-name",
264     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vrf-import-details[].vrf-import",
265     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vrf-import-details[].key",
266     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].member",
267     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].name",
268     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vrf-name",
269     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vrf-export-details[].vrf-export",
270     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vrf-export-details[].key",
271     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].apply-group-template[].apply-group",
272     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].apply-group-template[].key",
273     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].key",
274     "service-configuration-operation-input.service-information.subscriber-name",
275     "service-configuration-operation-input.service-information.subscriber-global-id",
276     "service-configuration-operation-input.service-information.service-type",
277     "service-configuration-operation-input.service-information.service-instance-id",
278     "service-configuration-operation-input.request-information.notification-url",
279     "service-configuration-operation-input.request-information.order-number",
280     "service-configuration-operation-input.request-information.order-version",
281     "service-configuration-operation-input.request-information.request-action",
282     "service-configuration-operation-input.request-information.request-sub-action",
283     "service-configuration-operation-input.request-information.source",
284     "service-configuration-operation-input.request-information.request-id",
285     "service-configuration-operation-output.configuration-response-common.svc-request-id",
286     "service-configuration-operation-output.configuration-response-common.response-message",
287     "service-configuration-operation-output.configuration-response-common.ack-final-indicator",
288     "service-configuration-operation-output.configuration-response-common.response-code"
289 ];
290 var nObj={};
291 for(var i=0;i<a.length;i++){
292         dotToJson(a[i],'',nObj);
293 }
294 var a = [
295     "service-configuration-operation-input.sdnc-request-header.svc-notification-url:String",
296     "service-configuration-operation-input.sdnc-request-header.svc-request-id:String",
297     "service-configuration-operation-input.sdnc-request-header.svc-action:Enum:[Createupdatevpn]",
298     "service-configuration-operation-input.vpe-vpn-service.route-target:String",
299     "service-configuration-operation-input.vpe-vpn-service.e2e-vpn-key:String",
300     "service-configuration-operation-input.vpe-vpn-service.vpn-id:Integer",
301     "service-configuration-operation-input.vpe-vpn-service.vpn-vame:String",
302     "service-configuration-operation-input.vpe-vpn-service.spoke-routes.route-target:String",
303     "service-configuration-operation-input.vpe-vpn-service.spoke-routes.max-threshold:Short",
304     "service-configuration-operation-input.vpe-vpn-service.spoke-routes.max-routes-limit:BigInteger",
305     "service-configuration-operation-input.vpe-vpn-service.v4-max-routes.max-routes-limit-warning:Short",
306     "service-configuration-operation-input.vpe-vpn-service.v4-max-routes.max-routes-limit:BigInteger",
307     "service-configuration-operation-input.vpe-vpn-service.v6-max-routes.max-routes-limit-warning:Short",
308     "service-configuration-operation-input.vpe-vpn-service.v6-max-routes.max-routes-limit:BigInteger",
309     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.vpn-multicast-planned-region[].regions:Enum:[EMEA, US, AP, LA, Canada]",
310     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.vpn-multicast-planned-region[].key:Identifier",
311     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.vpn-v4-multicast-enabled:Enum:[Y, N]",
312     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.max-routes-limit-warning:Short",
313     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.max-routes-limit:BigInteger",
314     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-data-mdt:Ipv4Address",
315     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-static-rp-triplet[].rp-address:Ipv4Address",
316     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-static-rp-triplet[].c-groups[].group-address-prefix-length:Short",
317     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-static-rp-triplet[].c-groups[].c-group-address-prefix:Ipv4Address",
318     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-static-rp-triplet[].c-groups[].key:Identifier",
319     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-static-rp-triplet[].key:Identifier",
320     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-pim-sm-static-override:Enum:[Y, N]",
321     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-pim-ssm-default-range:Enum:[Y, N]",
322     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-pim-ssm-groups[].v4-pim-ssm-group-address:Ipv4Address",
323     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-pim-ssm-groups[].v4-pim-ssm-group-address-prefix-length:Short",
324     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-pim-ssm-groups[].key:Identifier",
325     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-default-mdt:Ipv4Address",
326     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v4-multicast.v4-data-mdt-wildcard-mask:Ipv4Address",
327     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.vpn-v6-multicast-enabled:Enum:[Y, N]",
328     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.max-routes-limit-warning:Short",
329     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.max-routes-limit:BigInteger",
330     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-static-rp-triplet[].rp-address:Ipv6Address",
331     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-static-rp-triplet[].c-groups[].group-address-prefix-length:Short",
332     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-static-rp-triplet[].c-groups[].c-group-address-prefix:Ipv6Address",
333     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-static-rp-triplet[].c-groups[].key:Identifier",
334     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-static-rp-triplet[].key:Identifier",
335     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-pim-sm-static-override:Enum:[Y, N]",
336     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-pim-ssm-default-range:Enum:[Y, N]",
337     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-pim-ssm-groups[].v6-pim-ssm-group-address:Ipv6Address",
338     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-pim-ssm-groups[].v6-pim-ssm-group-address-prefix-length:Short",
339     "service-configuration-operation-input.vpe-vpn-service.multicast-parameters.v6-multicast.v6-pim-ssm-groups[].key:Identifier",
340     "service-configuration-operation-input.vpe-vpn-service.customer-id:String",
341     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].router-distinguisher:String",
342     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vpe-name:String",
343     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vrf-import-details[].vrf-import:String",
344     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vrf-import-details[].key:Identifier",
345     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].member:String",
346     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].name:String",
347     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vrf-name:String",
348     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vrf-export-details[].vrf-export:String",
349     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].vrf-export-details[].key:Identifier",
350     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].apply-group-template[].apply-group:String",
351     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].apply-group-template[].key:Identifier",
352     "service-configuration-operation-input.vpe-vpn-service.vrf-details[].key:Identifier",
353     "service-configuration-operation-input.service-information.subscriber-name:String",
354     "service-configuration-operation-input.service-information.subscriber-global-id:String",
355     "service-configuration-operation-input.service-information.service-type:Enum:[NBIPVPN]",
356     "service-configuration-operation-input.service-information.service-instance-id:String",
357     "service-configuration-operation-input.request-information.notification-url:String",
358     "service-configuration-operation-input.request-information.order-number:String",
359     "service-configuration-operation-input.request-information.order-version:String",
360     "service-configuration-operation-input.request-information.request-action:Enum:[Layer3ServiceVPNRequest]",
361     "service-configuration-operation-input.request-information.request-sub-action:Enum:[ACTIVATE, COMPLETE, CANCEL, SUPP]",
362     "service-configuration-operation-input.request-information.source:String",
363     "service-configuration-operation-input.request-information.request-id:String"
364 ]
365 var nObj={};
366 for(var i=0;i<a.length;i++){
367         var key =a[i].substring(0,a[i].indexOf(':'));
368         console.log(key);
369         var value =a[i].substring(a[i].indexOf(':') +1);
370         if(value == undefined) value ="";
371         dotToJson(key,value,nObj);
372 }
373 //nObj={};,
374 //var a1='service-configuration-operation-input[].vr-lan.vr-lan-interface[].v4-firewall-packet-filters[].v4-firewall-prefix-length';,
375         //dotToJson(a1,'',nObj);
376 console.log(JSON.stringify(nObj,null,4));
377 //console.log (stringToObj('abc.ebg.h',"",{}));