Continuer à utiliser JSL pour traiter le fichier JSON à partir du téléchargement Web ?Bonjour à tous !Je continue d'essayer le téléchargement JSL du fichier WEB JSON, et comme la structure JSON est différente, le téléchargement réussi du JSON dans le journal JSL, mais la structure du fichier JSON est différente, je ne sais pas comment l'arranger dans une table avec 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 );

En utilisant le navigateur pour télécharger le fichier JSON, supprimez le message de journal pour une erreur, puis traitez-le avec JSL, vous pouvez obtenir la table, mais la table n'est pas ce que je veux. Veuillez consulter les conseils d'experts. Merci beaucoup !
</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;"><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></P></LINGO-BODY><LINGO-SUB id="lingo-sub-598292" slang="en-US">Re : Continuer à utiliser JSL pour traiter le fichier JSON à partir du téléchargement Web ?</LINGO-SUB><LINGO-BODY id="lingo-body-598292" slang="en-US"><P>Merci!</P></LINGO-BODY><LINGO-SUB id="lingo-sub-229168" slang="en-US">Re : Continuer à utiliser JSL pour traiter le fichier JSON à partir du téléchargement Web ?</LINGO-SUB><LINGO-BODY id="lingo-body-229168" slang="en-US"><P>D'ACCORD.</P><P>Merci 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;"><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></P></LINGO-BODY><LINGO-SUB id="lingo-sub-229165" slang="en-US">Re : Continuer à utiliser JSL pour traiter le fichier JSON à partir du téléchargement Web ?</LINGO-SUB><LINGO-BODY id="lingo-body-229165" slang="en-US"><P>Cela a quelques informations sur le<EM> GLOBALREPLACE</EM> option et quelques exemples :</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>Je ne sais pas quel est le personnage; vous devrez peut-être utiliser des échappements Unicode pour le représenter, voir \!Uxxxx ici :</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>Je * pense * que ce qui se passe réellement, c'est que JMP échappe à des guillemets et que cela semble déroutant. Utilisez le<EM> écrire()</EM> fonction pour voir le test sans échappement :</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;"><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();">utiliser write() pour voir les chaînes sans échappement</SPAN></SPAN></P><P>J'ai reformaté le texte avec une nouvelle ligne après les virgules ; il est en fait exécuté ensemble tel qu'il est envoyé depuis la source JSON. Les données dans<EM> SMS</EM> est juste " mais lorsque JMP affiche la valeur sous la forme d'une chaîne entre guillemets (en utilisant print, par exemple), JMP échappe le " intégré en utilisant \!" .</P><P> </P><P>Voici utilise print(), notez que les tout premiers et derniers " ne sont pas échappés :</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;"><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();">interne " sont échappés avec \!</SPAN></SPAN></P></LINGO-BODY><LINGO-SUB id="lingo-sub-229160" slang="en-US">Re : Continuer à utiliser JSL pour traiter le fichier JSON à partir du téléchargement Web ?</LINGO-SUB><LINGO-BODY id="lingo-body-229160" slang="en-US"><P><SPAN class="transSent">je ne sais pas écrire<SPAN> expression régulière</SPAN> remplacer le code dans JSL.</SPAN><SPAN class="transSent"> Merci beaucoup!</SPAN></P><P> </P><P><SPAN class="transSent">Remplacez les trois caractères suivants<BR /> \" !</SPAN></P><P> </P><PRE><CODE class=" language-jsl">txt=loadtextfile("C:\Users\Administrator\Desktop\Untitled 6.txt");
txt = regex(txt,"\\","");
Re : Continuer à utiliser JSL pour traiter le fichier JSON à partir du téléchargement Web ?J'essaie d'enregistrer le dt après un traitement régulier en tant que texte TXT sans en-têtes de table avec JSL, puis de lire le texte en tant que TXT avec JSL. Comment remplacer le caractère spécifié de TXT par null avec regex ?

Re : Continuer à utiliser JSL pour traiter le fichier JSON à partir du téléchargement Web ?Merci Craige_Hales ! avec ce code regex, j'ai pu combiner les méthodes de traitement de la regex dans VBA.
Mais l'utilisation du traitement regex dans JSL est quelque chose que je vais continuer à apprendre.Re : Continuer à utiliser JSL pour traiter le fichier JSON à partir du téléchargement Web ?Vous devrez diviser le données colonne; JMP a importé exactement ce qui se trouve dans le fichier JSON... il n'y a pas d'autres noms de colonne et données est un champ unique. Vous pouvez créer de nouvelles colonnes (avec le nom dont vous avez besoin) en utilisant des formules similaires à ceci :
use the word() function with comma for the delimiter; this example selects the 3rd item between commasutilisez la fonction word() avec une virgule comme délimiteur ; cet exemple sélectionne le 3ème élément entre virgules
Vous pouvez faire quelque chose comme ceci pour éviter d'éditer manuellement les téléchargements :
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 utilise
\( -- ceci est une parenthèse ouvrante littérale
(.*) -- il s'agit d'un groupe de capture qui saisit autant qu'il le peut dans la première référence arrière
\)$ -- c'est une parenthèse fermante littérale, à la fin de la chaîne
alors
"\1" indique que le résultat de la regex est ce que le groupe de capture a trouvé entre les parenthèses.
Re : Continuer à utiliser JSL pour traiter le fichier JSON à partir du téléchargement Web ?Comment écrire du JSL pour télécharger du JSON directement depuis le WEB et le traiter automatiquement pour obtenir une table normalisée ? Merci!
Re : Continuer à utiliser JSL pour traiter le fichier JSON à partir du téléchargement Web ?
J'ai cherché des messages qui pourraient être traités avec ce code, mais j'ai essayé et échoué.
headers( {"…… "} )