Continua come utilizzare JSL per elaborare il file JSON dal download Web?Ciao a tutti! Continuo a provare il download JSL del file WEB JSON, e poiché la struttura JSON è diversa, il download riuscito del JSON nel log JSL, ma la struttura del file JSON è diversa, non lo so come organizzarlo in una tabella con JSL.
url="http://pdfm.eastmoney.com/EM_UBG_PDTI_Fast/api/js?rtntype=5&token=4f1862fc3b5e77c150a2b985b12db0fd&cb=jQuery18308309053384067384_1570754165747&id=6037121&type=m5k&authorityType=fa&_=1570754540714";
dt = Open(url, JSON );

Utilizzando il browser per scaricare il file JSON, rimuovere il messaggio di registro per un errore e quindi elaborarlo con JSL, è possibile ottenere la tabella, ma la tabella non è ciò che desidero. Per favore consiglio dagli esperti. Grazie mille!
</CODE></PRE><P> </P><P> </P><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2019-10-11_15-14.png" style="width: 793px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2019-10-11_15-14.png" style="width: 793px;"><span class="lia-inline-image-display-wrapper" image-alt="2019-10-11_15-14.png" style="width: 793px;"><img src="https://us.v-cdn.net/6038925/uploads/images/19635i3FCFD78C23C486ED/2019-10-11_15-14.png" role="button" title="2019-10-11_15-14.png" alt="2019-10-11_15-14.png" /></span></SPAN></SPAN></P></LINGO-BODY><LINGO-SUB id="lingo-sub-598292" slang="en-US" mode="NONE">Ri: continuare come utilizzare JSL per elaborare il file JSON dal download Web?</LINGO-SUB><LINGO-BODY id="lingo-body-598292" slang="en-US" mode="NONE"><P>Grazie!</P></LINGO-BODY><LINGO-SUB id="lingo-sub-229168" slang="en-US" mode="NONE">Ri: continuare come utilizzare JSL per elaborare il file JSON dal download Web?</LINGO-SUB><LINGO-BODY id="lingo-body-229168" slang="en-US" mode="NONE"><P>OK.</P><P>Grazie Craig!</P><P> </P><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2019-10-12_22-54.png" style="width: 427px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2019-10-12_22-54.png" style="width: 427px;"><span class="lia-inline-image-display-wrapper" image-alt="2019-10-12_22-54.png" style="width: 427px;"><img src="https://us.v-cdn.net/6038925/uploads/images/19671i81D5B2D99FFC23E3/2019-10-12_22-54.png" role="button" title="2019-10-12_22-54.png" alt="2019-10-12_22-54.png" /></span></SPAN></SPAN></P></LINGO-BODY><LINGO-SUB id="lingo-sub-229165" slang="en-US" mode="NONE">Ri: continuare come utilizzare JSL per elaborare il file JSON dal download Web?</LINGO-SUB><LINGO-BODY id="lingo-body-229165" slang="en-US" mode="NONE"><P>Questo ha alcune informazioni sul<EM> SOSTITUZIONE GLOBALE</EM> opzione e alcuni esempi:</P><P><A href="https://community.jmp.com/t5/Uncharted/Regex/ba-p/21008" target="_blank">https://community.jmp.com/t5/Uncharted/Regex/ba-p/21008</A></P><P> </P><P>Non sono sicuro di quale sia il personaggio; potrebbe essere necessario utilizzare gli escape Unicode per rappresentarlo, vedere \!Uxxxx qui:</P><P><A href="https://community.jmp.com/t5/Discussions/best-practices-around-special-characters-in-JSL/m-p/214000" target="_blank">https://community.jmp.com/t5/Discussions/best-practices-around-special-characters-in-JSL/mp/214000</A></P><P> </P><P>* Penso * che ciò che sta realmente accadendo sia che JMP stia sfuggendo ad alcune virgolette e sembri confuso. Usa il<EM> scrivere()</EM> funzione per vedere il test senza escape:</P><P> </P><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="using write() to see strings without escapes" style="width: 759px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="using write() to see strings without escapes" style="width: 759px;"><span class="lia-inline-image-display-wrapper" image-alt="using write() to see strings without escapes" style="width: 759px;"><img src="https://us.v-cdn.net/6038925/uploads/images/19667iFB78CCABEB3149F7/Capture.PNG" role="button" title="Capture.PNG" alt="using write() to see strings without escapes" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">using write() to see strings without escapes</span></span><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">using write() to see strings without escapes</SPAN></SPAN><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">usando write() per vedere le stringhe senza escape</SPAN></SPAN></P><P>Ho riformattato il testo con una nuova riga dopo le virgole; in realtà è tutto eseguito insieme come inviato dall'origine JSON. I dati in<EM> TXT</EM> è solo " ma quando JMP visualizza il valore come una stringa tra virgolette (utilizzando print, ad esempio), JMP eseguirà l'escape dell'incorporato " using \!" .</P><P> </P><P>Qui sta usando print(), nota che il primo e l'ultimo " non sono sfuggiti:</P><P> </P><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="internal " are escaped with \!" style="width: 812px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="internal " are escaped with \!" style="width: 812px;"><span class="lia-inline-image-display-wrapper" image-alt="internal " are escaped with \!" style="width: 812px;"><img src="https://us.v-cdn.net/6038925/uploads/images/19669i63D97B19AB857285/Capture3.PNG" role="button" title="Capture3.PNG" alt="internal " are escaped with \!" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">internal " are escaped with \!</span></span><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">internal " are escaped with \!</SPAN></SPAN><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">internal " sono sfuggiti con \!</SPAN></SPAN></P></LINGO-BODY><LINGO-SUB id="lingo-sub-229160" slang="en-US" mode="NONE">Ri: continuare come utilizzare JSL per elaborare il file JSON dal download Web?</LINGO-SUB><LINGO-BODY id="lingo-body-229160" slang="en-US" mode="NONE"><P><SPAN class="transSent">Non so scrivere<SPAN> espressione regolare</SPAN> sostituire il codice in JSL.</SPAN><SPAN class="transSent"> Grazie mille!</SPAN></P><P> </P><P><SPAN class="transSent">Sostituisci tutti e tre i seguenti caratteri<BR /> \"!</SPAN></P><P> </P><PRE><CODE class=" language-jsl">txt=loadtextfile("C:\Users\Administrator\Desktop\Untitled 6.txt");
txt = regex(txt,"\\","");
Ri: continuare come utilizzare JSL per elaborare il file JSON dal download Web?Provo a salvare il dt dopo l'elaborazione regolare come testo TXT senza intestazioni tabella con JSL, quindi leggo il testo come TXT con JSL. Come si può sostituire il carattere specificato di TXT con null con regex?

Ri: continuare come utilizzare JSL per elaborare il file JSON dal download Web?Grazie Craige_Hales! con questo codice regex sono stato in grado di combinare i metodi di gestione delle espressioni regolari in VBA.
Ma l'utilizzo dell'elaborazione regex in JSL è qualcosa che continuerò a imparare.Ri: continuare come utilizzare JSL per elaborare il file JSON dal download Web?Dovrai dividere il dati colonna; JMP ha importato esattamente ciò che è nel file JSON... non ci sono altri nomi di colonne e dati è un singolo campo. Puoi creare nuove colonne (con il nome che ti serve) usando formule simili a questa:
use the word() function with comma for the delimiter; this example selects the 3rd item between commasuse the word() function with comma for the delimiter; this example selects the 3rd item between commasusa la funzione word() con la virgola come delimitatore; questo esempio seleziona il terzo elemento tra virgole
Puoi fare qualcosa del genere per evitare di modificare manualmente i download:
txt=loadtextfile("http://pdfm.eastmoney.com/EM_UBG_PDTI_Fast/api/js?rtntype=5&token=4f1862fc3b5e77c150a2b985b12db0fd&cb=jQuery18308309053384067384_1570754165747&id=6037121&type=m5k&authorityType=fa&_=1570754540714");
txt = regex(txt,"\((.*)\)$","\1"); // strip the jQuery18308309053384067384_1570754165747( ...json data... ) wrapper
dt = jsontodatatable(txt);La regex utilizza
\( -- questa è una parentesi aperta letterale
(.*) -- questo è un gruppo di acquisizione che cattura il più possibile nel primo riferimento a ritroso
\)$ -- questa è una parentesi chiusa letterale, alla fine della stringa
Poi
"\1" dice che il risultato della regex è qualunque sia il gruppo di acquisizione trovato tra le parentesi.
Ri: continuare come utilizzare JSL per elaborare il file JSON dal download Web?Come scrivere JSL per scaricare JSON direttamente dal WEB ed elaborarlo automaticamente per ottenere una tabella normalizzata? Grazie!
Ri: continuare come utilizzare JSL per elaborare il file JSON dal download Web?
Ho cercato post che potrebbero essere gestiti con questo codice, ma ho provato e fallito.
headers( {"…… "} )