C'est un schéma vraiment absurde. J'étais tellement sûr que ça ne marcherait pas que je n'ai même pas essayé. Alors, pourquoi ça marche ?
L'objectif semble être de remplacer les séquences guillemet-virgule-guillemet, mais uniquement à l'intérieur des crochets [ ]. D'une manière ou d'une autre, la préposition positive y parvient.
(?=[^\[\]]*\])
signifie « rechercher zéro ou plusieurs caractères qui ne sont pas des crochets, suivis d'un crochet fermant ».
Ainsi, la combinaison guillemet-virgule-guillemet avant le [ ne peut pas correspondre car l'expression régulière ne peut pas localiser le ] final sans être arrêtée par le [.
Et la dernière paire de guillemets après le ] ne peut pas correspondre car il n'y a pas d'autre ].
et les guillemets-virgule-guillemets au milieu... ça marche.
Sympa, je suppose. Mais ça représente un travail considérable pour le moteur d'expressions régulières ; la vérification positive anticipée consiste à parcourir la chaîne jusqu'à la fin, encore et encore. Je ne laisserais pas cela à la charge d'un futur mainteneur sans quelques commentaires, et je procéderais probablement plutôt comme ceci :
source = "\[
",":["11000278031.胡剑","11000259239.胡慧","11000426432.叶子","11000445039.张大为","11000469637.詹浏洋","11000480631.李书颖"],","
]\";
Write( source );
findthis = "\!",\!""; // ","
replacewith = "&";
// goal: replace findthis
// with replacethis
// but only inside the [ ... ] square brackets.
If( 0 < Contains( source, "[" ) < Contains( source, "]" ), "ok", Throw( "something wrong here" ));
parts = Words( source, "[]" );
If( N Items( parts ) == 3, "ok", Throw( "this needs more thought" ));
Substitute Into( parts[2], findthis, replacewith );
result = parts[1] || "[" || parts[2] || "]" || parts[3];
Write( result );
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Lookahead_assertion
Merci Craige !
En fait, je veux juste savoir comment transformer ce JSON en un tableau parfait.
tx="\[[{"title":"AA,AA","BName":"AA","BCode":"605366","orgCode":"82004416","orgName":"AA","orgSName":"AA","publishDate":"2025-12-28 00:00:00.","infoCode":"AP202512281809952250","column":"002004006001","predictNextTwoYearB":"","predictNextTwoYearPe":"","predictNextYearB":"","predictNextYearPe":"","predictThisYearB":"","predictThisYearPe":"","predictLastYearB":"","predictLastYearPe":"","actualLastTwoYearB":"","actualLastYearB":"","industryCode":"","industryName":"","emIndustryCode":"","indvInduCode":"538","indvInduName":"AA","emBCode":"","emBValue":"","emBName":"","lastEmBCode":"","lastEmBValue":"","lastEmBName":"","BChange":"","reportType":2,"author":["11506051.AA"],"indvIsNew":"001","researcher":"AA","newListingDate":"2020-08-12 00:00:00.","newPurchaseDate":"2020-07-31 00:00:00.0","newIssueB":9.98,"newPeIssueA":22.78,"indvAimBT":"","indvAimBL":"","attachType":"0","attachSize":383,"attachPages":3,"encodeUrl":"6XT6d6nxZNcP9JXS1dtw9ivwowNnxWgBjsEKvrMIHoo=","sBName":"","sBCode":"","B":"SHANGHAI","authorID":["11506051"],"count":1,"orgType":"white"},{"title":"AAI,AA","BName":"AA","BCode":"688800","orgCode":"80036717","orgName":"AA","orgSName":"AA","publishDate":"2025-12-28 00:00:00.","infoCode":"AP202512281809913359","column":"002004001003","predictNextTwoYearB":"2.67","predictNextTwoYearPe":"32.97","predictNextYearB":"2.08","predictNextYearPe":"42.24","predictThisYearB":"1.46","predictThisYearPe":"60.44","predictLastYearB":"","predictLastYearPe":"","actualLastTwoYearB":"","actualLastYearB":"","industryCode":"","industryName":"","emIndustryCode":"","indvInduCode":"459","indvInduName":"AA","emBCode":"007","emBValue":"3","emBName":"AA","lastEmBCode":"007","lastEmBValue":"3","lastEmBName":"AA","BChange":3,"reportType":2,"author":["11392732.AA","11524834.AA"],"indvIsNew":"001","researcher":"AA,AA","newListingDate":"2021-07-22 00:00:00.","newPurchaseDate":"2021-07-12 00:00:00.0","newIssueB":15.02,"newPeIssueA":24.49,"indvAimBT":"","indvAimBL":"","attachType":"0","attachSize":764,"attachPages":5,"encodeUrl":"6XT6d6nxZNcP9JXS1dtw9snalC40a3QwRrj9tML8YAw=","sBName":"AA","sBCode":"0301","B":"SHANGHAI","authorID":["11392732","11524834"],"count":1,"orgType":"white"},{"title":"AA,AA","BName":"AA","BCode":"601038","orgCode":"80064","orgName":"AA","orgSName":"AA","publishDate":"2025-12-28 00:00:00.","infoCode":"AP202512281809893801","column":"002004002003","predictNextTwoYearB":"0.9","predictNextTwoYearPe":"15.7600","predictNextYearB":"0.8100","predictNextYearPe":"17.4900","predictThisYearB":"0.7900","predictThisYearPe":"17.9200","predictLastYearB":"","predictLastYearPe":"","actualLastTwoYearB":"","actualLastYearB":"","industryCode":"","industryName":"","emIndustryCode":"","indvInduCode":"910","indvInduName":"AA","emBCode":"007","emBValue":"3","emBName":"AA","lastEmBCode":"007","lastEmBValue":"3","lastEmBName":"AA","BChange":3,"reportType":2,"author":["11379333.AA"],"indvIsNew":"001","researcher":"AA","newListingDate":"2012-08-08 00:00:00.","newPurchaseDate":"2012-07-27 00:00:00.0","newIssueB":5.4,"newPeIssueA":14.44,"indvAimBT":"","indvAimBL":"","attachType":"0","attachSize":321,"attachPages":4,"encodeUrl":"6XT6d6nxZNcP9JXS1dtw9vuL66I7rHatL9vNIud7cP0=","sBName":"AA","sBCode":"0101","B":"SHANGHAI","authorID":["11379333"],"count":1,"orgType":"white"},{"title":"AA:AA,AA","BName":"AA","BCode":"002488","orgCode":"80162","orgName":"AA","orgSName":"AA","publishDate":"2025-12-25 00:00:00.","infoCode":"AP202512251807934364","column":"002004001003","predictNextTwoYearB":"1.0100","predictNextTwoYearPe":"8.4","predictNextYearB":"0.3300","predictNextYearPe":"25.4","predictThisYearB":"0.0600","predictThisYearPe":"131.8","predictLastYearB":"","predictLastYearPe":"","actualLastTwoYearB":"","actualLastYearB":"","industryCode":"","industryName":"","emIndustryCode":"","indvInduCode":"481","indvInduName":"AA","emBCode":"007","emBValue":"3","emBName":"AA","lastEmBCode":"","lastEmBValue":"","lastEmBName":"","BChange":2,"reportType":2,"author":["11250834.AA","11245529.AA","11442637.AA"],"indvIsNew":"001","researcher":"AA,AA,AA","newListingDate":"2010-10-21 00:00:00.","newPurchaseDate":"2010-10-11 00:00:00.0","newIssueB":22,"newPeIssueA":73.33,"indvAimBT":"","indvAimBL":"","attachType":"0","attachSize":2285,"attachPages":19,"encodeUrl":"MKF7cC+MZ9vDOQWsqD7ZgmRE9eUeYHJK9njuGLTcICI=","sBName":"AA(1)","sBCode":"0201","B":"SHENZHEN","authorID":["11250834","11245529","11442637"],"count":1,"orgType":"white"},{"title":"BDAA,AA","BName":"AA","BCode":"688621","orgCode":"80064","orgName":"AA","orgSName":"AA","publishDate":"2025-12-25 00:00:00.","infoCode":"AP202512251807725254","column":"002004006003","predictNextTwoYearB":"2.4600","predictNextTwoYearPe":"28.0","predictNextYearB":"2.2600","predictNextYearPe":"30.5400","predictThisYearB":"1.8","predictThisYearPe":"38.3300","predictLastYearB":"","predictLastYearPe":"","actualLastTwoYearB":"","actualLastYearB":"","industryCode":"","industryName":"","emIndustryCode":"","indvInduCode":"727","indvInduName":"AA","emBCode":"007","emBValue":"3","emBName":"AA","lastEmBCode":"007","lastEmBValue":"3","lastEmBName":"AA","BChange":3,"reportType":2,"author":["11296231.AA","11486715.AA"],"indvIsNew":"001","researcher":"AA,AA","newListingDate":"2021-06-21 00:00:00.","newPurchaseDate":"2021-06-09 00:00:00.0","newIssueB":26.89,"newPeIssueA":29.72,"indvAimBT":"","indvAimBL":"","attachType":"0","attachSize":315,"attachPages":4,"encodeUrl":"MKF7cC+MZ9vDOQWsqD7ZgvFJHAi4XRobbkVOxAB2GK4=","sBName":"AA","sBCode":"0101","B":"SHANGHAI","authorID":["11296231","11486715"],"count":1,"orgType":"white"}]]\";
d1 =jsontodatatable(tx);
Cela augmentera le nombre de lignes
Vous le faites manuellement une seule fois pour permettre à JMP de vous aider dans la création de scripts, comme vous devriez toujours le faire avec les graphiques, les plateformes et les transformations de tableaux.
Créez un fichier .json à partir de votre chaîne de caractères.

Utilisez la fonction Ouvrir de JMP, localisez le fichier et ouvrez-le en utilisant l'aperçu.

Essayez différentes options dans l'assistant. Voici le résultat après avoir utilisé uniquement l'option « Suppression large ».

Exportez-le vers JMP s'il semble correct. Vérifiez le script de la table source.

Cela pourrait vous convenir si la structure est déjà identique. Sinon, consultez l'index des scripts/l'aide de jmp et vérifiez si Ouvrir propose de meilleures options. Si ce n'est pas le cas, cherchez JSON dans l'index des scripts. Vous y trouverez JSON vers Data Table, qui semble mentionner les options Guess et "Wide".

Cliquez sur Aide du sujet pour obtenir des informations utiles sur les arguments JSON vers tableau de données(chaîne JSON, ( | ), )

N'oubliez pas que vous avez utilisé l'option « Deviner largement » dans l'assistant JSON.
Modifiez votre script pour utiliser Deviner avec JSON vers une table de données
Voir plus...
Names Default To Here(1);
json = "\[[{"title":"AA,AA","BName":"AA","BCode":"605366","orgCode":"82004416","orgName":"AA","orgSName":"AA","publishDate":"2025-12-28 00:00:00.","infoCode":"AP202512281809952250","column":"002004006001","predictNextTwoYearB":"","predictNextTwoYearPe":"","predictNextYearB":"","predictNextYearPe":"","predictThisYearB":"","predictThisYearPe":"","predictLastYearB":"","predictLastYearPe":"","actualLastTwoYearB":"","actualLastYearB":"","industryCode":"","industryName":"","emIndustryCode":"","indvInduCode":"538","indvInduName":"AA","emBCode":"","emBValue":"","emBName":"","lastEmBCode":"","lastEmBValue":"","lastEmBName":"","BChange":"","reportType":2,"author":["11506051.AA"],"indvIsNew":"001","researcher":"AA","newListingDate":"2020-08-12 00:00:00.","newPurchaseDate":"2020-07-31 00:00:00.0","newIssueB":9.98,"newPeIssueA":22.78,"indvAimBT":"","indvAimBL":"","attachType":"0","attachSize":383,"attachPages":3,"encodeUrl":"6XT6d6nxZNcP9JXS1dtw9ivwowNnxWgBjsEKvrMIHoo=","sBName":"","sBCode":"","B":"SHANGHAI","authorID":["11506051"],"count":1,"orgType":"white"},{"title":"AAI,AA","BName":"AA","BCode":"688800","orgCode":"80036717","orgName":"AA","orgSName":"AA","publishDate":"2025-12-28 00:00:00.","infoCode":"AP202512281809913359","column":"002004001003","predictNextTwoYearB":"2.67","predictNextTwoYearPe":"32.97","predictNextYearB":"2.08","predictNextYearPe":"42.24","predictThisYearB":"1.46","predictThisYearPe":"60.44","predictLastYearB":"","predictLastYearPe":"","actualLastTwoYearB":"","actualLastYearB":"","industryCode":"","industryName":"","emIndustryCode":"","indvInduCode":"459","indvInduName":"AA","emBCode":"007","emBValue":"3","emBName":"AA","lastEmBCode":"007","lastEmBValue":"3","lastEmBName":"AA","BChange":3,"reportType":2,"author":["11392732.AA","11524834.AA"],"indvIsNew":"001","researcher":"AA,AA","newListingDate":"2021-07-22 00:00:00.","newPurchaseDate":"2021-07-12 00:00:00.0","newIssueB":15.02,"newPeIssueA":24.49,"indvAimBT":"","indvAimBL":"","attachType":"0","attachSize":764,"attachPages":5,"encodeUrl":"6XT6d6nxZNcP9JXS1dtw9snalC40a3QwRrj9tML8YAw=","sBName":"AA","sBCode":"0301","B":"SHANGHAI","authorID":["11392732","11524834"],"count":1,"orgType":"white"},{"title":"AA,AA","BName":"AA","BCode":"601038","orgCode":"80064","orgName":"AA","orgSName":"AA","publishDate":"2025-12-28 00:00:00.","infoCode":"AP202512281809893801","column":"002004002003","predictNextTwoYearB":"0.9","predictNextTwoYearPe":"15.7600","predictNextYearB":"0.8100","predictNextYearPe":"17.4900","predictThisYearB":"0.7900","predictThisYearPe":"17.9200","predictLastYearB":"","predictLastYearPe":"","actualLastTwoYearB":"","actualLastYearB":"","industryCode":"","industryName":"","emIndustryCode":"","indvInduCode":"910","indvInduName":"AA","emBCode":"007","emBValue":"3","emBName":"AA","lastEmBCode":"007","lastEmBValue":"3","lastEmBName":"AA","BChange":3,"reportType":2,"author":["11379333.AA"],"indvIsNew":"001","researcher":"AA","newListingDate":"2012-08-08 00:00:00.","newPurchaseDate":"2012-07-27 00:00:00.0","newIssueB":5.4,"newPeIssueA":14.44,"indvAimBT":"","indvAimBL":"","attachType":"0","attachSize":321,"attachPages":4,"encodeUrl":"6XT6d6nxZNcP9JXS1dtw9vuL66I7rHatL9vNIud7cP0=","sBName":"AA","sBCode":"0101","B":"SHANGHAI","authorID":["11379333"],"count":1,"orgType":"white"},{"title":"AA:AA,AA","BName":"AA","BCode":"002488","orgCode":"80162","orgName":"AA","orgSName":"AA","publishDate":"2025-12-25 00:00:00.","infoCode":"AP202512251807934364","column":"002004001003","predictNextTwoYearB":"1.0100","predictNextTwoYearPe":"8.4","predictNextYearB":"0.3300","predictNextYearPe":"25.4","predictThisYearB":"0.0600","predictThisYearPe":"131.8","predictLastYearB":"","predictLastYearPe":"","actualLastTwoYearB":"","actualLastYearB":"","industryCode":"","industryName":"","emIndustryCode":"","indvInduCode":"481","indvInduName":"AA","emBCode":"007","emBValue":"3","emBName":"AA","lastEmBCode":"","lastEmBValue":"","lastEmBName":"","BChange":2,"reportType":2,"author":["11250834.AA","11245529.AA","11442637.AA"],"indvIsNew":"001","researcher":"AA,AA,AA","newListingDate":"2010-10-21 00:00:00.","newPurchaseDate":"2010-10-11 00:00:00.0","newIssueB":22,"newPeIssueA":73.33,"indvAimBT":"","indvAimBL":"","attachType":"0","attachSize":2285,"attachPages":19,"encodeUrl":"MKF7cC+MZ9vDOQWsqD7ZgmRE9eUeYHJK9njuGLTcICI=","sBName":"AA(1)","sBCode":"0201","B":"SHENZHEN","authorID":["11250834","11245529","11442637"],"count":1,"orgType":"white"},{"title":"BDAA,AA","BName":"AA","BCode":"688621","orgCode":"80064","orgName":"AA","orgSName":"AA","publishDate":"2025-12-25 00:00:00.","infoCode":"AP202512251807725254","column":"002004006003","predictNextTwoYearB":"2.4600","predictNextTwoYearPe":"28.0","predictNextYearB":"2.2600","predictNextYearPe":"30.5400","predictThisYearB":"1.8","predictThisYearPe":"38.3300","predictLastYearB":"","predictLastYearPe":"","actualLastTwoYearB":"","actualLastYearB":"","industryCode":"","industryName":"","emIndustryCode":"","indvInduCode":"727","indvInduName":"AA","emBCode":"007","emBValue":"3","emBName":"AA","lastEmBCode":"007","lastEmBValue":"3","lastEmBName":"AA","BChange":3,"reportType":2,"author":["11296231.AA","11486715.AA"],"indvIsNew":"001","researcher":"AA,AA","newListingDate":"2021-06-21 00:00:00.","newPurchaseDate":"2021-06-09 00:00:00.0","newIssueB":26.89,"newPeIssueA":29.72,"indvAimBT":"","indvAimBL":"","attachType":"0","attachSize":315,"attachPages":4,"encodeUrl":"MKF7cC+MZ9vDOQWsqD7ZgvFJHAi4XRobbkVOxAB2GK4=","sBName":"AA","sBCode":"0101","B":"SHANGHAI","authorID":["11296231","11486715"],"count":1,"orgType":"white"}]]\";
dt_json = JSON To Data Table(json, Guess(Stack(0), "Wide"));