mirror of
https://github.com/stleary/JSON-java.git
synced 2025-08-03 03:15:32 -04:00
Merge branch 'master' into patch-2
This commit is contained in:
commit
e9117dbe5c
48
.github/workflows/deployment.yml
vendored
Normal file
48
.github/workflows/deployment.yml
vendored
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# For more information see:
|
||||||
|
# * https://docs.github.com/en/actions/learn-github-actions
|
||||||
|
# * https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
|
||||||
|
# * https://github.com/actions/setup-java/blob/v3.13.0/docs/advanced-usage.md#Publishing-using-Apache-Maven
|
||||||
|
#
|
||||||
|
|
||||||
|
name: Deployment workflow
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Set up Java for publishing to Maven Central Repository
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
# Use lowest supported LTS Java version
|
||||||
|
java-version: '8'
|
||||||
|
distribution: 'temurin'
|
||||||
|
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
|
||||||
|
server-username: MAVEN_USERNAME # env variable for username in deploy
|
||||||
|
server-password: MAVEN_PASSWORD # env variable for token in deploy
|
||||||
|
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
|
||||||
|
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
|
||||||
|
|
||||||
|
- name: Publish to the Maven Central Repository
|
||||||
|
run: mvn --batch-mode deploy
|
||||||
|
env:
|
||||||
|
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||||
|
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
|
||||||
|
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
|
||||||
|
# - name: Set up Java for publishing to GitHub Packages
|
||||||
|
# uses: actions/setup-java@v3
|
||||||
|
# with:
|
||||||
|
# # Use lowest supported LTS Java version
|
||||||
|
# java-version: '8'
|
||||||
|
# distribution: 'temurin'
|
||||||
|
# - name: Publish to GitHub Packages
|
||||||
|
# run: mvn --batch-mode deploy
|
||||||
|
# env:
|
||||||
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
14
.github/workflows/pipeline.yml
vendored
14
.github/workflows/pipeline.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
# This workflow will build a Java project with Maven
|
# This workflow will build a Java project with Maven
|
||||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
# For more information see: https://docs.github.com/en/actions/learn-github-actions or https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
|
||||||
|
|
||||||
name: Java CI with Maven
|
name: Java CI with Maven
|
||||||
|
|
||||||
@ -37,13 +37,21 @@ jobs:
|
|||||||
mvn site -DgenerateReports=false -Dmaven.compiler.source=${{ matrix.java }} -Dmaven.compiler.target=${{ matrix.java }}
|
mvn site -DgenerateReports=false -Dmaven.compiler.source=${{ matrix.java }} -Dmaven.compiler.target=${{ matrix.java }}
|
||||||
- name: Upload Test Results ${{ matrix.java }}
|
- name: Upload Test Results ${{ matrix.java }}
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Test Results ${{ matrix.java }}
|
name: Test Results ${{ matrix.java }}
|
||||||
path: target/surefire-reports/
|
path: target/surefire-reports/
|
||||||
- name: Upload Test Report ${{ matrix.java }}
|
- name: Upload Test Report ${{ matrix.java }}
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Test Report ${{ matrix.java }}
|
name: Test Report ${{ matrix.java }}
|
||||||
path: target/site/
|
path: target/site/
|
||||||
|
- name: Package Jar ${{ matrix.java }}
|
||||||
|
run: mvn clean package -Dmaven.compiler.source=${{ matrix.java }} -Dmaven.compiler.target=${{ matrix.java }} -Dmaven.test.skip=true -Dmaven.site.skip=true
|
||||||
|
- name: Upload Package Results ${{ matrix.java }}
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Package Jar ${{ matrix.java }}
|
||||||
|
path: target/*.jar
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,6 +1,8 @@
|
|||||||
# ignore eclipse project files
|
# ignore eclipse project files
|
||||||
.project
|
.project
|
||||||
.classpath
|
.classpath
|
||||||
|
# ignore vscode files
|
||||||
|
.vscode
|
||||||
# ignore Intellij Idea project files
|
# ignore Intellij Idea project files
|
||||||
.idea
|
.idea
|
||||||
*.iml
|
*.iml
|
||||||
|
@ -7,6 +7,8 @@ JSON in Java [package org.json]
|
|||||||
===============================
|
===============================
|
||||||
|
|
||||||
[](https://mvnrepository.com/artifact/org.json/json)
|
[](https://mvnrepository.com/artifact/org.json/json)
|
||||||
|
[](https://github.com/stleary/JSON-java/actions/workflows/pipeline.yml)
|
||||||
|
[](https://github.com/stleary/JSON-java/actions/workflows/codeql-analysis.yml)
|
||||||
|
|
||||||
**[Click here if you just want the latest release jar file.](https://search.maven.org/remotecontent?filepath=org/json/json/20231013/json-20231013.jar)**
|
**[Click here if you just want the latest release jar file.](https://search.maven.org/remotecontent?filepath=org/json/json/20231013/json-20231013.jar)**
|
||||||
|
|
||||||
@ -26,6 +28,7 @@ Project goals include:
|
|||||||
* Maintain backward compatibility
|
* Maintain backward compatibility
|
||||||
* Designed and tested to use on Java versions 1.8 - 21
|
* Designed and tested to use on Java versions 1.8 - 21
|
||||||
|
|
||||||
|
|
||||||
The files in this package implement JSON encoders and decoders. The package can also convert between JSON and XML, HTTP headers, Cookies, and CDL.
|
The files in this package implement JSON encoders and decoders. The package can also convert between JSON and XML, HTTP headers, Cookies, and CDL.
|
||||||
|
|
||||||
# If you would like to contribute to this project
|
# If you would like to contribute to this project
|
||||||
|
50
pom.xml
50
pom.xml
@ -21,12 +21,6 @@
|
|||||||
</description>
|
</description>
|
||||||
<url>https://github.com/douglascrockford/JSON-java</url>
|
<url>https://github.com/douglascrockford/JSON-java</url>
|
||||||
|
|
||||||
<parent>
|
|
||||||
<groupId>org.sonatype.oss</groupId>
|
|
||||||
<artifactId>oss-parent</artifactId>
|
|
||||||
<version>9</version>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<scm>
|
<scm>
|
||||||
<url>https://github.com/douglascrockford/JSON-java.git</url>
|
<url>https://github.com/douglascrockford/JSON-java.git</url>
|
||||||
<connection>scm:git:git://github.com/douglascrockford/JSON-java.git</connection>
|
<connection>scm:git:git://github.com/douglascrockford/JSON-java.git</connection>
|
||||||
@ -53,6 +47,19 @@
|
|||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
|
||||||
|
<distributionManagement>
|
||||||
|
<repository>
|
||||||
|
<id>ossrh</id>
|
||||||
|
<name>Central Repository OSSRH</name>
|
||||||
|
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
|
||||||
|
</repository>
|
||||||
|
<snapshotRepository>
|
||||||
|
<id>ossrh</id>
|
||||||
|
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
||||||
|
</snapshotRepository>
|
||||||
|
</distributionManagement>
|
||||||
|
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
@ -159,17 +166,34 @@
|
|||||||
<autoReleaseAfterClose>false</autoReleaseAfterClose>
|
<autoReleaseAfterClose>false</autoReleaseAfterClose>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.moditect</groupId>
|
||||||
|
<artifactId>moditect-maven-plugin</artifactId>
|
||||||
|
<version>1.0.0.Final</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>add-module-infos</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>add-module-info</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<jvmVersion>9</jvmVersion>
|
||||||
|
<module>
|
||||||
|
<moduleInfoSource>
|
||||||
|
module org.json {
|
||||||
|
exports org.json;
|
||||||
|
}
|
||||||
|
</moduleInfoSource>
|
||||||
|
</module>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-jar-plugin</artifactId>
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
<version>3.3.0</version>
|
<version>3.3.0</version>
|
||||||
<configuration>
|
|
||||||
<archive>
|
|
||||||
<manifestEntries>
|
|
||||||
<Automatic-Module-Name>org.json</Automatic-Module-Name>
|
|
||||||
</manifestEntries>
|
|
||||||
</archive>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
@ -71,6 +71,7 @@ public class ParserConfiguration {
|
|||||||
*
|
*
|
||||||
* @param newVal
|
* @param newVal
|
||||||
* new value to use for the <code>keepStrings</code> configuration option.
|
* new value to use for the <code>keepStrings</code> configuration option.
|
||||||
|
* @param <T> the type of the configuration object
|
||||||
*
|
*
|
||||||
* @return The existing configuration will not be modified. A new configuration is returned.
|
* @return The existing configuration will not be modified. A new configuration is returned.
|
||||||
*/
|
*/
|
||||||
@ -96,6 +97,8 @@ public class ParserConfiguration {
|
|||||||
* Using any negative value as a parameter is equivalent to setting no limit to the nesting depth,
|
* Using any negative value as a parameter is equivalent to setting no limit to the nesting depth,
|
||||||
* which means the parses will go as deep as the maximum call stack size allows.
|
* which means the parses will go as deep as the maximum call stack size allows.
|
||||||
* @param maxNestingDepth the maximum nesting depth allowed to the XML parser
|
* @param maxNestingDepth the maximum nesting depth allowed to the XML parser
|
||||||
|
* @param <T> the type of the configuration object
|
||||||
|
*
|
||||||
* @return The existing configuration will not be modified. A new configuration is returned.
|
* @return The existing configuration will not be modified. A new configuration is returned.
|
||||||
*/
|
*/
|
||||||
public <T extends ParserConfiguration> T withMaxNestingDepth(int maxNestingDepth) {
|
public <T extends ParserConfiguration> T withMaxNestingDepth(int maxNestingDepth) {
|
||||||
|
@ -763,7 +763,7 @@ public class JSONMLTest {
|
|||||||
final JSONObject revertedObject = JSONML.toJSONObject(xml, false);
|
final JSONObject revertedObject = JSONML.toJSONObject(xml, false);
|
||||||
final String newJson = revertedObject.toString();
|
final String newJson = revertedObject.toString();
|
||||||
assertTrue("JSON Objects are not similar", originalObject.similar(revertedObject));
|
assertTrue("JSON Objects are not similar", originalObject.similar(revertedObject));
|
||||||
assertEquals("original JSON does not equal the new JSON",originalJson, newJson);
|
assertTrue("JSON Strings are not similar", new JSONObject(originalJson).similar(new JSONObject(newJson)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// these tests do not pass for the following reasons:
|
// these tests do not pass for the following reasons:
|
||||||
|
@ -2095,7 +2095,9 @@ public class JSONObjectTest {
|
|||||||
"}";
|
"}";
|
||||||
JSONObject jsonObject = new JSONObject(jsonObjectStr);
|
JSONObject jsonObject = new JSONObject(jsonObjectStr);
|
||||||
assertTrue("jsonObject valueToString() incorrect",
|
assertTrue("jsonObject valueToString() incorrect",
|
||||||
JSONObject.valueToString(jsonObject).equals(jsonObject.toString()));
|
new JSONObject(JSONObject.valueToString(jsonObject))
|
||||||
|
.similar(new JSONObject(jsonObject.toString()))
|
||||||
|
);
|
||||||
String jsonArrayStr =
|
String jsonArrayStr =
|
||||||
"[1,2,3]";
|
"[1,2,3]";
|
||||||
JSONArray jsonArray = new JSONArray(jsonArrayStr);
|
JSONArray jsonArray = new JSONArray(jsonArrayStr);
|
||||||
@ -2106,7 +2108,8 @@ public class JSONObjectTest {
|
|||||||
map.put("key2", "val2");
|
map.put("key2", "val2");
|
||||||
map.put("key3", "val3");
|
map.put("key3", "val3");
|
||||||
assertTrue("map valueToString() incorrect",
|
assertTrue("map valueToString() incorrect",
|
||||||
jsonObject.toString().equals(JSONObject.valueToString(map)));
|
new JSONObject(jsonObject.toString())
|
||||||
|
.similar(new JSONObject(JSONObject.valueToString(map))));
|
||||||
Collection<Integer> collection = new ArrayList<Integer>();
|
Collection<Integer> collection = new ArrayList<Integer>();
|
||||||
collection.add(Integer.valueOf(1));
|
collection.add(Integer.valueOf(1));
|
||||||
collection.add(Integer.valueOf(2));
|
collection.add(Integer.valueOf(2));
|
||||||
|
@ -1234,7 +1234,7 @@ public class XMLTest {
|
|||||||
for (int numRead; (numRead = in.read(buffer, 0, buffer.length)) > 0; ) {
|
for (int numRead; (numRead = in.read(buffer, 0, buffer.length)) > 0; ) {
|
||||||
expected.append(buffer, 0, numRead);
|
expected.append(buffer, 0, numRead);
|
||||||
}
|
}
|
||||||
assertEquals(expected.toString(), actualString);
|
assertTrue(XML.toJSONObject(expected.toString()).similar(XML.toJSONObject(actualString)));
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
fail("file writer error: " +e.getMessage());
|
fail("file writer error: " +e.getMessage());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user