mirror of
https://github.com/stleary/JSON-java.git
synced 2025-08-02 11:05:28 -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
|
||||
# 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
|
||||
|
||||
@ -37,13 +37,21 @@ jobs:
|
||||
mvn site -DgenerateReports=false -Dmaven.compiler.source=${{ matrix.java }} -Dmaven.compiler.target=${{ matrix.java }}
|
||||
- name: Upload Test Results ${{ matrix.java }}
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Test Results ${{ matrix.java }}
|
||||
path: target/surefire-reports/
|
||||
- name: Upload Test Report ${{ matrix.java }}
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Test Report ${{ matrix.java }}
|
||||
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
|
||||
.project
|
||||
.classpath
|
||||
# ignore vscode files
|
||||
.vscode
|
||||
# ignore Intellij Idea project files
|
||||
.idea
|
||||
*.iml
|
||||
|
@ -7,6 +7,8 @@ JSON in Java [package org.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)**
|
||||
|
||||
@ -26,6 +28,7 @@ Project goals include:
|
||||
* Maintain backward compatibility
|
||||
* 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.
|
||||
|
||||
# If you would like to contribute to this project
|
||||
|
50
pom.xml
50
pom.xml
@ -21,12 +21,6 @@
|
||||
</description>
|
||||
<url>https://github.com/douglascrockford/JSON-java</url>
|
||||
|
||||
<parent>
|
||||
<groupId>org.sonatype.oss</groupId>
|
||||
<artifactId>oss-parent</artifactId>
|
||||
<version>9</version>
|
||||
</parent>
|
||||
|
||||
<scm>
|
||||
<url>https://github.com/douglascrockford/JSON-java.git</url>
|
||||
<connection>scm:git:git://github.com/douglascrockford/JSON-java.git</connection>
|
||||
@ -53,6 +47,19 @@
|
||||
</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>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
@ -159,17 +166,34 @@
|
||||
<autoReleaseAfterClose>false</autoReleaseAfterClose>
|
||||
</configuration>
|
||||
</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>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>3.3.0</version>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
<Automatic-Module-Name>org.json</Automatic-Module-Name>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
@ -71,7 +71,8 @@ public class ParserConfiguration {
|
||||
*
|
||||
* @param newVal
|
||||
* 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.
|
||||
*/
|
||||
public <T extends ParserConfiguration> T withKeepStrings(final boolean newVal) {
|
||||
@ -96,6 +97,8 @@ public class ParserConfiguration {
|
||||
* 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.
|
||||
* @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.
|
||||
*/
|
||||
public <T extends ParserConfiguration> T withMaxNestingDepth(int maxNestingDepth) {
|
||||
|
@ -762,8 +762,8 @@ public class JSONMLTest {
|
||||
final String xml = JSONML.toString(originalObject);
|
||||
final JSONObject revertedObject = JSONML.toJSONObject(xml, false);
|
||||
final String newJson = revertedObject.toString();
|
||||
assertTrue("JSON Objects are not similar",originalObject.similar(revertedObject));
|
||||
assertEquals("original JSON does not equal the new JSON",originalJson, newJson);
|
||||
assertTrue("JSON Objects are not similar", originalObject.similar(revertedObject));
|
||||
assertTrue("JSON Strings are not similar", new JSONObject(originalJson).similar(new JSONObject(newJson)));
|
||||
}
|
||||
|
||||
// these tests do not pass for the following reasons:
|
||||
|
@ -2095,7 +2095,9 @@ public class JSONObjectTest {
|
||||
"}";
|
||||
JSONObject jsonObject = new JSONObject(jsonObjectStr);
|
||||
assertTrue("jsonObject valueToString() incorrect",
|
||||
JSONObject.valueToString(jsonObject).equals(jsonObject.toString()));
|
||||
new JSONObject(JSONObject.valueToString(jsonObject))
|
||||
.similar(new JSONObject(jsonObject.toString()))
|
||||
);
|
||||
String jsonArrayStr =
|
||||
"[1,2,3]";
|
||||
JSONArray jsonArray = new JSONArray(jsonArrayStr);
|
||||
@ -2106,7 +2108,8 @@ public class JSONObjectTest {
|
||||
map.put("key2", "val2");
|
||||
map.put("key3", "val3");
|
||||
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.add(Integer.valueOf(1));
|
||||
collection.add(Integer.valueOf(2));
|
||||
|
@ -1234,7 +1234,7 @@ public class XMLTest {
|
||||
for (int numRead; (numRead = in.read(buffer, 0, buffer.length)) > 0; ) {
|
||||
expected.append(buffer, 0, numRead);
|
||||
}
|
||||
assertEquals(expected.toString(), actualString);
|
||||
assertTrue(XML.toJSONObject(expected.toString()).similar(XML.toJSONObject(actualString)));
|
||||
}
|
||||
} catch (IOException e) {
|
||||
fail("file writer error: " +e.getMessage());
|
||||
|
Loading…
x
Reference in New Issue
Block a user